#!/bin/sh
inotifywait -qme CREATE --format '%w%f' /tmp/watch | while read f;
do
ln -s "$f" /tmp/other/;
done
我发现这个脚本正在寻找对执行特定工作的文件系统事件做出反应的东西。脚本完美无缺,我不明白的是读取f的意思;
答案 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]