![评估 bash 条件语句中的双阻塞命令](https://linux22.com/image/89944/%E8%AF%84%E4%BC%B0%20bash%20%E6%9D%A1%E4%BB%B6%E8%AF%AD%E5%8F%A5%E4%B8%AD%E7%9A%84%E5%8F%8C%E9%98%BB%E5%A1%9E%E5%91%BD%E4%BB%A4.png)
我正在尝试编写一个刷新终端的循环
- 当文件被修改时,或者
- 当检测到用户输入时第二个间隔。
我知道如何一次做一个,就像这样:
while inotifywait -q -e modify /path/to/file -r ; do ls; done
...我可以轻松做到
while read; do ls; ls; done
但我该如何让它们一致呢?例如,当读取返回 true 时和/或inotifywait
返回 true 时刷新?我尝试了几个例子,但没有考虑太多。
答案1
您始终可以并行运行两个循环:
while inotifywait -q -e modify /path/to/file -r; do ls; done &
while read -r; do ls; done
wait