UNIX终端 - shell不会终止,卡在for循环中

时间:2014-09-08 18:35:50

标签: macos bash shell unix scripting

我在终止shell时遇到了一些麻烦。我在后台启动了几个filkontroll.sh来定期检查文件以查看它们是否已被更改或删除。它似乎运行正常,除了当所有文件都被修改后,程序不会终止。它似乎以某种方式陷入了for-loop。

filkontroll.sh :
#!/bin/bash
clear

declare -i status=1
if [ -f $1 ]
        then
        status=0
        timestamp=$(stat -f "%Sm" -t "%H%M%S" $1)
fi
while [ 0 ]
        do
        if [ -f $1 ] && [ $status -eq 1 ]
                then
                echo "Filen $1 ble opprettet."
                break
        elif [ ! -f $1 ] && [ $status -eq 0 ]
                then
                echo "Filen $1 ble slettet."
                break
        elif [ -f $1 ]
                then
                sistEndret=$(stat -f "%Sm" -t "%H%M%S" $1)
                if [ ! $sistEndret -eq $timestamp ]
                        then
                        echo "Filen $1 ble endret."
                        break
                fi
         fi
        sleep $2
done



kontrollflerefiler.sh:
#!/bin/bash
clear

for fil in $@
do
        . filkontroll.sh $fil 2 &

done

0 个答案:

没有答案