Moved main conditional out of previously existing function, added hard-coded command line to own function, added script options loop
This commit is contained in:
@@ -1,14 +1,25 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
zfs-clean () {
|
||||
if [ -z "$1" ]; then
|
||||
exit 1
|
||||
elif [ "$1" == "upgrades" ]; then
|
||||
if [ -z "$2" ]; then
|
||||
zfs list -t snapshot | grep 'apt-' | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
|
||||
else
|
||||
zfs list -t snapshot | grep "${2}" | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
|
||||
fi
|
||||
clear-apt-snaps () {
|
||||
zfs list -t snapshot | grep 'apt-' | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
|
||||
}
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [ -z "$1" ] && [ "$1" == "upgrades" ]; then
|
||||
while getopts "r:" opt; do
|
||||
case "$opt" in
|
||||
r) REGEX=${OPTARG};;
|
||||
*) exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$REGEX" ]; then
|
||||
clear-apt-snaps
|
||||
else
|
||||
zfs list -t snapshot | grep "${REGEX}" | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
|
||||
fi
|
||||
}
|
||||
fi
|
Reference in New Issue
Block a user