我正在研究一个shell文件,它只对txt文件进行某些更改,但是这个测试循环不起作用,我想知道为什么?谢谢!
while [ ! -f /tmp/list.txt ] ;
do
      sleep 2
done
CWF*_*CWF 126
当你说"不起作用"时,你怎么知道它不起作用?
您可以尝试通过添加以下内容来确定文件是否实际存在:
while [ ! -f /tmp/list.txt ]
do
  sleep 2 # or less like 0.2
done
ls -l /tmp/list.txt
您也可以通过键入"echo $ SHELL"来确保使用Bash(或相关)shell.我认为CSH和TCSH对这个循环使用略有不同的语义.
yin*_*ted 53
如果安装了inotify-tools,则可以执行以下操作:
file=/tmp/list.txt
while [ ! -f "$file" ]
do
    inotifywait -qqt 2 -e create -e moved_to "$(dirname $file)"
done
这减少了睡眠引起的延迟,同时仍然每2秒检查一次.如果您预计需要它们,可以添加更多事件.
| 归档时间: | 
 | 
| 查看次数: | 162889 次 | 
| 最近记录: |