我在'abc'目錄下有一堆shell腳本(它們中的一些嵌套很深)。它下面可能有100個shell腳本。我想找到當前正在運行的shell腳本。在目錄下查找所有正在運行的腳本
我可以得到腳本列表與下面的命令
find abc -name "*.sh" | awk -F/ '{print $NF}'
當我想了解是否有個別腳本運行與否,我會用
ps aux | grep "[t]emp.sh"
我不是確定如何結合上述2個命令來實現我想要的而不用編寫shell腳本。
我在'abc'目錄下有一堆shell腳本(它們中的一些嵌套很深)。它下面可能有100個shell腳本。我想找到當前正在運行的shell腳本。在目錄下查找所有正在運行的腳本
我可以得到腳本列表與下面的命令
find abc -name "*.sh" | awk -F/ '{print $NF}'
當我想了解是否有個別腳本運行與否,我會用
ps aux | grep "[t]emp.sh"
我不是確定如何結合上述2個命令來實現我想要的而不用編寫shell腳本。
使用process substitution (bash):
grep -f <(find . -name "*.sh" -printf "%f\n") <(ps aux)
下面是另一種方法:
ps aux | grep \`find . -name "*.sh"\`
更字面兩個命令的 '加入' - 使用反引號(`)炭以包圍部這是首先執行的。反引號中包含的命令輸出被輸入到第一個命令的輸入中。
工程很棒。謝謝。 – rahul 2014-11-24 19:46:04