开发者

bash script: meaning of while read in a simple script that use inotifywait


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

I've found this script looking for something that react to filesystem event doing a specific job. The script works perfectly what i don't understand is the开发者_开发问答 meaning of while read f;


It's capturing the output of your inotifywait command and parsing it line by line, assigning each line in turn to f in the while statement.

That particular inotifywait command continuously monitors the /tmp/watch directory and outputs the full path name when an entry is created.

The while loop then processes each each of those file names and creates a symbolic link to it in the /tmp/other/ directory.

Here's an example script showing the while read in action:

pax> printf "1\n2\n3 4\n" | while read f ; do echo "[$f]" ; done
[1]
[2]
[3 4]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜