2012-07-09 3 views
0

디렉토리를 모니터링하는 inotiy-tools과 함께 bash 스크립트를 만들려고합니다.내부 bash 스크립트를 사용할 때 Inotifywait가 작동하지 않습니다.

여기에 내가 터미널에 아무것도 출력하지 위의 스크립트를 실행할 때 문제가 내 스크립트

while f=$(inotifywait -m -e create -q -r "/media/data2/Music/English" --format '%f %w') 
do 
    echo "$f" 
done 

입니다. inotifywait 명령을 검사했는데 터미널에서 제대로 실행되지만 내 스크립트에서 작동하지 않는 이유는 무엇입니까? 터미널에

inotifywait를이

[email protected]:~$ inotifywait -m -e create -q -r /media/data2/Music/English --format '%f %w' 
hello /media/data2/Music/English/ 

답변

1

문제는 끝까지 그 명령에 대한 f=$(inotifywait... 대기하고 그런 다음에야 당신에게 출력을 제공합니다.

나는 거의 bash는 쓰기,하지만 당신은 시도 할 수 :

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

좋아, 내 올바른 접근해야한다 것보다. – RanRag

+0

감사합니다. 매력처럼 작동했습니다. – RanRag

+0

또한'$()'명령이 끝날 때까지 기다렸다가 출력 만하기를 기다리는 문서를 수정 해 줄 수 있습니까? – RanRag