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:
Alex Tavarez
2025-09-15 14:40:15 -04:00
parent 39c92a7479
commit 00eb99291a

View File

@@ -1,14 +1,25 @@
#!/bin/bash #!/bin/bash
set -euo pipefail set -euo pipefail
zfs-clean () { clear-apt-snaps () {
if [ -z "$1" ]; then zfs list -t snapshot | grep 'apt-' | sed 's| .*$||g' | head -n -5 | xargs -d '\n' -I {} sudo zfs destroy {}
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
fi
} }
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