bash脚本:在使用inotifywait的简单脚本中读取的含义

时间:2011-03-19 14:57:50

标签: bash while-loop inotify


#!/bin/sh
inotifywait -qme CREATE --format '%w%f' /tmp/watch | while read f; 
do 
ln -s "$f" /tmp/other/; 
done

我发现这个脚本正在寻找对执行特定工作的文件系统事件做出反应的东西。脚本完美无缺,我不明白的是读取f的意思;

1 个答案:

答案 0 :(得分:4)

它捕获inotifywait命令的输出并逐行解析,将每行分配到f语句中的while

该特定inotifywait命令会持续监视/tmp/watch目录,并在创建一个目录时输出完整路径名。

while循环依次处理每个文件名,并在/tmp/other/目录中创建一个符号链接。

以下是一个示例脚本,显示了while read的实际效果:

pax$ ( echo 1 ; echo 2 ; echo 3 4 ) | while read f
pax> do
pax> echo "[$f]"
pax> done
[1]
[2]
[3 4]