我想创建一个bash脚本,它接受一个参数并使用awk来打印if
这是一个孤儿过程:
#find_orphan.sh : ps -elf | awk '/$1/&&!/awk/ {if ($5 == 1){print $15}}'
不幸的是,我遇到问题,以便将$1作为bash参数呈现..
如果我不使用$1运行它,我的程序将工作:
ps -elf | awk '/some_program/&&!/awk/ {if ($5 == 1){print $15}}'
我真的需要能够在bash脚本参数中指定awk搜索模式.
有帮助吗?
解决方法
Shell变量仅在双引号内(或根本没有引号)扩展,而不是单引号.
你可以试试
你可以试试
ps -elf | awk '/'$1'/&&!/awk/ {if ($5 == 1){print $15}}'
对于awk,我认为anubhavas解决方案更好,但这也适用于与其他工具类似的情况.