#!/bin/sh
inotifywait -qme CREATE --format '%w%f' /tmp/watch | while read f;
do
ln -s "$f" /tmp/other/;
done
このスクリプトは、特定のジョブを実行しているファイルシステムイベントに反応するものを探していることがわかりました。スクリプトは完全に機能します。私が理解していないのは、fを読んでいる間の意味です。
#!/bin/sh
inotifywait -qme CREATE --format '%w%f' /tmp/watch | while read f;
do
ln -s "$f" /tmp/other/;
done
このスクリプトは、特定のジョブを実行しているファイルシステムイベントに反応するものを探していることがわかりました。スクリプトは完全に機能します。私が理解していないのは、fを読んでいる間の意味です。
コマンドの出力をキャプチャしてinotifywait
行ごとに解析し、各行を順番にステートメントに割り当てf
ますwhile
。
その特定inotifywait
のコマンドは、ディレクトリを継続的に監視し/tmp/watch
、エントリが作成されたときにフル パス名を出力します。
次に、while
ループはこれらのファイル名をそれぞれ処理し、/tmp/other/
ディレクトリ内にそのファイルへのシンボリック リンクを作成します。
while read
の動作を示すスクリプトの例を次に示します。
pax> printf "1\n2\n3 4\n" | while read f ; do echo "[$f]" ; done
[1]
[2]
[3 4]