Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos UNIX终端-壳牌赢得';t端接,卡在回路中_Macos_Bash_Shell_Unix_Scripting - Fatal编程技术网

Macos UNIX终端-壳牌赢得';t端接,卡在回路中

Macos UNIX终端-壳牌赢得';t端接,卡在回路中,macos,bash,shell,unix,scripting,Macos,Bash,Shell,Unix,Scripting,我在终止外壳时遇到了一些问题。我在后台启动了几个filkontroll.sh来定期检查文件,看看它们是否被更改或删除。它似乎运行良好,只是当所有文件都被修改后,程序不会终止。它似乎不知何故陷入了for循环 filkontroll.sh : #!/bin/bash clear declare -i status=1 if [ -f $1 ] then status=0 timestamp=$(stat -f "%Sm" -t "%H%M%S" $1

我在终止外壳时遇到了一些问题。我在后台启动了几个filkontroll.sh来定期检查文件,看看它们是否被更改或删除。它似乎运行良好,只是当所有文件都被修改后,程序不会终止。它似乎不知何故陷入了for循环

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

你有什么版本的
stat
(我这里的stat命令没有任何用处)?您正在监视文件或文件系统吗?
if
和first
elif
始终为false,因为如果
$1
不存在,
状态
显式设置为1,如果存在则设置为0。因此,如果
$1
不存在(例如,在关联进程启动后删除),循环将永远不会终止。此脚本将检测并在.Etan上逐行提供注释。Etan:我正在监视文件。我不知道我有什么版本,但我正在使用更新的OSX Macbook Air上的终端窗口。它以“hhmmss”Chephner格式返回上次修改的时间戳:它们并不总是false。我已经尝试了所有树案例,当我只运行filkontroll.sh时,它运行得很顺利。@chepner此脚本是一个文件监视脚本。它旨在监视带外文件的更改。或者这个问题会让我相信。