diff --git a/beadm b/beadm index 48ebccf..7bedd88 100755 --- a/beadm +++ b/beadm @@ -28,7 +28,7 @@ PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin if [ $( uname -r | cut -d '.' -f1 ) -lt 8 ] then - echo "ERROR: beadm only works on FreeBSD 8.0 or later." + echo "ERROR: beadm only works on FreeBSD 8.0 or later" fi __usage() { @@ -276,7 +276,7 @@ EOF fi else ORIGINS=$( zfs list -r -H -o origin ${POOL}/ROOT/${2} ) - if zfs destroy ${POOL}/ROOT/${2} 1> /dev/null 2> /dev/null + if ! zfs destroy ${POOL}/ROOT/${2} 1> /dev/null 2> /dev/null then zfs destroy -r ${POOL}/ROOT/${2} 2>&1 \ | grep "${POOL}/ROOT/" \ @@ -286,11 +286,14 @@ EOF zfs promote ${I} 2> /dev/null done fi - echo "${ORIGINS}" \ - | while read I - do - zfs destroy -r ${I} 2> /dev/null - done + if ! [ "${ORIGINS}" = "-" ] + then + echo "${ORIGINS}" \ + | while read I + do + zfs destroy -r ${I} 2> /dev/null + done + fi fi echo "Destroyed successfully" ;;