小编Rgo*_*ike的帖子

Shell虽然循环没有停止

我正在编写一个例程来识别进程是否停止运行,并且一旦目标进程消失就会执行某些操作.

我想出了这段代码(作为我未来代码的测试):

#!/bin/bash
value="aaa"
ls | grep $value
while [ $? = 0 ]; 
    do
    sleep 5
    ls | grep $value
    echo $?
done;
echo DONE
Run Code Online (Sandbox Code Playgroud)

我的问题是,由于某种原因,循环永远不会停止,并在删除文件"aaa"后回显1.

0
0    >>> I delete the file at that point (in another terminal)
1
1
1
1
.
.
    .
Run Code Online (Sandbox Code Playgroud)

我删除文件后,我希望输出为"DONE"...

有什么问题?

解:

#!/bin/bash
value="aaa"
ls | grep $value
while [ $? = 0 ];
    do
    sleep 5
    ls | grep $value
done;
echo DONE
Run Code Online (Sandbox Code Playgroud)

bash shell while-loop

0
推荐指数
1
解决办法
3875
查看次数

标签 统计

bash ×1

shell ×1

while-loop ×1