diff --git a/disk-deactivate/disk-deactivate.jq b/disk-deactivate/disk-deactivate.jq index 6e44403..b7c502d 100644 --- a/disk-deactivate/disk-deactivate.jq +++ b/disk-deactivate/disk-deactivate.jq @@ -1,7 +1,7 @@ # since lsblk lacks zfs support, we have to do it this way def remove: if .fstype == "zfs_member" then - "zpool destroy -f \(.label)" + "if type zpool >/dev/null; then zpool destroy -f \(.label); fi" elif .fstype == "LVM2_member" then [ "vg=$(pvs \(.path) --noheadings --options vg_name | grep -o '[a-zA-Z0-9-]*')", @@ -14,7 +14,7 @@ def remove: # maybe its zfs [ # the next line has some horrible escaping - "zpool=$(zdb -l \(.path) | sed -nr $'s/ +name: \\'(.*)\\'/\\\\1/p')", + "zpool=$(if type zdb >/dev/null; then zdb -l \(.path) | sed -nr $'s/ +name: \\'(.*)\\'/\\\\1/p') else echo ""; fi", "if [[ -n \"${zpool}\" ]]; then zpool destroy -f \"$zpool\"; fi", "unset zpool" ]