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