查找目录下的所有正在运行的脚本

时间:2014-11-24 19:25:32

标签: linux bash awk grep

我在'abc'目录下有一堆shell脚本(其中一些是深嵌套的)。它下面可能有100个shell脚本。我想找到当前正在运行的shell脚本。

我可以使用以下命令获取脚本列表

find abc -name "*.sh" | awk -F/ '{print $NF}'

当我想知道某个脚本是否正在运行时,我会使用

ps aux | grep "[t]emp.sh"

我不知道如何在不编写shell脚本的情况下将上述两个命令结合起来实现我的目标。

2 个答案:

答案 0 :(得分:1)

使用process substitution (bash)

grep -f <(find . -name "*.sh" -printf "%f\n") <(ps aux)

答案 1 :(得分:0)

这是另一种方法:

ps aux | grep \`find . -name "*.sh"\`

更加文字化的加入&#39;这两个命令中的一个 - 使用反引号(`)char来包含首先执行的部分。反引号中包含的命令的输出被输入第一个命令的输入。