a="grep ssh | grep -v grep"
ps -ef | $a | awk '{print $2}'
我怎样才能完成上述工作?我有一个部分,我不仅需要传递 grep 术语,而且可能传递多个 grep 术语,这意味着我需要将“term1 | grep term2”作为变量传递。
编辑:
下面的 another.anon.coward 回答对我来说非常有效。谢谢楼主!
最佳答案
改为创建一个函数:
a() {
grep ssh | grep -v grep
}
ps -ef | a | awk '{print $2}'
另一种解决方案是使用 eval,但除非经过适当清理,否则它是不安全的,因此不推荐使用。
a="grep ssh | grep -v grep"
ps -ef | eval "$a" | awk '{print $2}'
关于linux - 如何将命令的一部分作为变量 bash 传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18987662/