我正在尝试使用inotiy-tools
创建一个监视目录的bash脚本。
这是我的剧本
while f=$(inotifywait -m -e create -q -r "/media/data2/Music/English" --format '%f %w')
do
echo "$f"
done
问题是当我运行上面的脚本时,它在终端上没有打印任何内容。我已经检查了inotifywait
命令,它在终端上运行正常,但为什么它在我的脚本中不起作用。
inotifywait
noob@noob:~$ inotifywait -m -e create -q -r /media/data2/Music/English --format '%f %w'
hello /media/data2/Music/English/
答案 0 :(得分:1)
问题是f=$(inotifywait...
等待该命令结束,然后才给你输出。
我很少写bash,但你可以尝试:
inotifywait .... |
while read line
do
echo $line
done
答案 1 :(得分:0)
不要在该上下文中使用 -m
开关,否则 inotifywait
命令永远不会将控制权返回到 while
循环。