2014-11-04 102 views
0

我想在一個bash腳本中使用inotifywait來監視一個文件的目錄中有一個特定的標記(* SDS.csv)。Ubuntu BASH inotifywait觸發另一個腳本

我也只想執行一次(當文件寫入目錄數據時一次)。

例如:

#! /bin/bash 
inotifywait -m -e /home/adam/data | while read LINE 
do 
    if [[ $LINE == *SDS.csv ]]; then 
    ./another_script.sh 
    fi 
done 

回答

0

雖然這可能不是理想的解決方案,其可以達到目的:

#! /bin/bash 
while true 
do 
    FNAME="$(inotifywait -e close_write /home/adam/data | awk '{ print $NF }')" 

    if [ -f "/home/adam/data/$FNAME" ] 
    then 
     if grep -q 'SDS.csv' "/home/adam/data/$FNAME" 
     then 
     ./another_script.sh 
     fi 
    done 
done 
相關問題