"set --" 命令解析终端上 "ps" 命令的输出

"set --" command to parse output of "ps" command on terminal

我尝试使用 "set --" 获取进程的 pid,如下所示: 说一个进程是用命令启动的:java -jar someProg.jar

在 shell 脚本中,我可以使用这种方式获取 processId:

#    
pid_=$(ps -axf | grep  someProg | grep -v grep)

set -- $pid_

echo 
#

现在,我尝试通过如下命令在终端上获取 pid:

ps -axf | grep  someProg | grep -v grep | set -- | echo 

但是我什么也没得到。

如何在终端上使用 set -- 命令获取输出 pid。

谢谢

ps -axf | grep someProg | grep -v grep | awk '{print }'

它显示 someProg 进程的 PID...

您既不能通过管道输入 set,因为它不支持它,也不能使用像 xargs 这样的工具,因为 set 是内置的。

这就是您所能做的:

set -- $(ps -axf | grep  someProg | grep -v grep) ; echo 

顺便说一句:你也不能通过管道输入 echo