From a5d208968a7180a58c2afb915ac7490786cac260 Mon Sep 17 00:00:00 2001 From: Le0xFF <43521247+Le0xFF@users.noreply.github.com> Date: Wed, 27 Jul 2022 21:34:58 +0200 Subject: [PATCH] Fix function called when trapping signals --- vli.sh | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/vli.sh b/vli.sh index b0b473a..0c2ae7a 100755 --- a/vli.sh +++ b/vli.sh @@ -36,21 +36,26 @@ function kill_script { echo -e -n "\n\nKill signal captured, unmonting, cleaning and closing everything.\n\n" - for dir in sys dev proc ; do - umount /mnt/$dir - done - umount -l /mnt/home - umount -l /mnt - if [[ "$lvm_yn" == "y" ]] || [[ "$lvm_yn" == "Y" ]] ; then - lvchange -an /dev/mapper/"$vg_name"-"$lv_root_name" + if grep -q /mnt /proc/mounts ; then + for dir in sys dev proc ; do + umount /mnt/$dir + done + umount -l /mnt/home + umount -l /mnt + if [[ "$lvm_yn" == "y" ]] || [[ "$lvm_yn" == "Y" ]] ; then + if [[ -n "$lv_root_name" ]] ; then + lvchange -an /dev/mapper/"$vg_name"-"$lv_root_name" + fi + fi + cryptsetup close /dev/mapper/"$encrypted_name" fi - cryptsetup close /dev/mapper/"$encrypted_name" if [[ -f "$HOME"/chroot.sh ]] ; then rm -f "$HOME"/chroot.sh fi echo -e -n "\n\nEverything's done, quitting.\n\n" + exit 1 }