发送此内容时遇到错误
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""
答案 0 :(得分:0)
如果您想要的只是某个过程的PID,那么您不需要所有这些杂乱的事情: 。ps aux | grep someagent| grep -v grep | awk '{print $2}'
您可以使用pgrep
获取流程PID:
在你的情况下,它将是:
send "someagent_id=$(pgrep SOMEAGENT)\r"
答案 1 :(得分:0)
试试这个:
undefined
`` - >以前的版本 $ - >新版本。两者都做同样的事情
答案 2 :(得分:0)
试试这个
send "someagent_id=`ps aux | grep someagent| grep -v grep | awk '{print \$2}'`\r"
并且可能更好用这个1管道版本
send "someagent_id=`ps aux | awk '/someagent/ && ! /awk/ {print \$2}'`\r"
答案 3 :(得分:0)
使用ps选项
ps -C someagent -o pid=
send "someagent_id=$(ps -C someagent -o pid=)"