Скрипт Bash не зацикливается

У меня есть скрипт, который должен продолжать выполнять функцию при изменении имени файла – у меня проблема в том, что после первого выполнения цикл while не продолжает выполняться. Скрипт не выходит, кажется, просто зависает. У кого-нибудь есть идеи?

#!/bin/bash #******* #10.0.4.**** set -x #trap read debug end=432000 state='unknown' cachereset() { rm ~/state/*.txt cp /media/state/*.txt ~/state/ echo "unknown" } statecheck() { if [ -f ~/state/meeting.txt ]; then pkill google-chrome google-chrome https://**** --incognito & #Load Chromium sleep 30 #Wait for Chromium to load xdotool type "****@****.co.uk" xdotool key Tab xdotool type "PASS!" xdotool key Return sleep 15 xdotool key F11 echo "meeting" elif [ -f ~/state/normal.txt ]; then pkill google-chrome google-chrome https://**** --incognito & #Load Chromium sleep 30 #Wait for Chromium to load xdotool type "***@****.co.uk" xdotool key Tab xdotool type "PASS!" xdotool key Return sleep 15 xdotool key F11 echo "normal" else pkill google-chrome google-chrome https://**** --incognito & #Load Chromium sleep 30 #Wait for Chromium to load xdotool type "***@*****.co.uk" xdotool key Tab xdotool type "PASS!" xdotool key Return sleep 15 xdotool key F11 echo "normal" fi } state=$(cachereset) while [ $SECONDS -lt $end ]; do echo "frank" if [ $state == "unknown" ]; then state=$(statecheck) fi if [ $state == "meeting" ]; then while [ -f /media/state/meeting.txt ]; do sleep 30 done state=$(cachereset) fi if [ $state == "normal" ]; then while [ -f /media/state/normal.txt ]; do sleep 30 done state=$(cachereset) fi done shutdown -r 1