Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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
使用内部bash脚本时Inotifywait不起作用_Bash_Inotify_Inotify Tools - Fatal编程技术网

使用内部bash脚本时Inotifywait不起作用

使用内部bash脚本时Inotifywait不起作用,bash,inotify,inotify-tools,Bash,Inotify,Inotify Tools,我正在尝试使用inotiy工具创建一个bash脚本,用于监视目录 这是我的剧本 while f=$(inotifywait -m -e create -q -r "/media/data2/Music/English" --format '%f %w') do echo "$f" done 问题是,当我运行上面的脚本时,它不会在终端上打印任何内容。我已经检查了inotifywait命令,它在终端上运行良好,但为什么它不能在我的脚本中工作 inotifywait on终端 问题是f=$

我正在尝试使用
inotiy工具
创建一个bash脚本,用于监视目录

这是我的剧本

while f=$(inotifywait -m -e create -q -r "/media/data2/Music/English"  --format '%f %w')
do
    echo "$f"
done
问题是,当我运行上面的脚本时,它不会在终端上打印任何内容。我已经检查了
inotifywait
命令,它在终端上运行良好,但为什么它不能在我的脚本中工作

inotifywait on终端

问题是
f=$(inotifywait…
等待该命令结束,然后才给出输出

我很少写bash,但您可以尝试:

inotifywait .... |
while read line
do
    echo $line
done

不要在该上下文中使用
-m
开关,否则
inotifywait
命令将永远不会在
循环时将控件返回到

另外,您能否给我指出正确的文档,其中说明
$()
等待该命令结束,然后才给出输出。
inotifywait .... |
while read line
do
    echo $line
done