我在'abc'目录下有一堆shell脚本(其中一些是深嵌套的)。它下面可能有100个shell脚本。我想找到当前正在运行的shell脚本。
我可以使用以下命令获取脚本列表
find abc -name "*.sh" | awk -F/ '{print $NF}'
当我想知道某个脚本是否正在运行时,我会使用
ps aux | grep "[t]emp.sh"
我不知道如何在不编写shell脚本的情况下将上述两个命令结合起来实现我的目标。
答案 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来包含首先执行的部分。反引号中包含的命令的输出被输入第一个命令的输入。