Linux Awk内部预期
我在发送此邮件时出错Linux Awk内部预期,linux,bash,awk,expect,Linux,Bash,Awk,Expect,我在发送此邮件时出错 send "someagent_id=`ps aux | grep someagent| grep -v grep | awk '{print $2}'`\r" 错误: can't read "2": no such variable while executing "send "someagent_id=`ps aux | grep someagent| grep -v grep | awk '{print $2}'`\r"" 如果您只需要某个进程的PID,那
send "someagent_id=`ps aux | grep someagent| grep -v grep | awk '{print $2}'`\r"
错误:
can't read "2": no such variable
while executing
"send "someagent_id=`ps aux | grep someagent| grep -v grep | awk '{print $2}'`\r""
如果您只需要某个进程的PID,那么就不需要这些杂乱的东西:
ps aux | grep someagent | grep-v grep | awk'{print$2}'
您可以通过以下方式获得流程PID:
在您的情况下,它将是:
send "someagent_id=$(pgrep SOMEAGENT)\r"
试试这个:
someagent_id=$(ps aux | grep someagent| grep -v grep | awk '{print $2}'\r)
send $someagent_id
``-->以前的版本
$-->新版本。两者都做同样的事情试试这个
send "someagent_id=`ps aux | grep someagent| grep -v grep | awk '{print \$2}'`\r"
也许用这个只有一根管子的版本更好
send "someagent_id=`ps aux | awk '/someagent/ && ! /awk/ {print \$2}'`\r"
带ps选项
ps -C someagent -o pid=
send "someagent_id=$(ps -C someagent -o pid=)"
你真的需要一个
grep-vgrep
?。。我不觉得不使用这个有什么区别,顺便问一下,如果我grep然后显示2个pid呢?如何消除第二个(我认为这只是pgrep过程)。