“set - ”命令解析终端

时间:2017-05-29 12:26:05

标签: linux shell pid ps

我试图使用“set - ”获取进程的pid,如下所示: 假设一个进程是使用命令java -jar someProg.jar

启动的

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

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

set -- $pid_

echo $1
#

现在,我尝试通过编写命令来获取终端上的pid:

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

但我没有得到任何东西。

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

由于

2 个答案:

答案 0 :(得分:1)

怎么样?
ps -axf | grep someProg | grep -v grep | awk '{print $1}'

显示someProg进程的PID ...

答案 1 :(得分:1)

您既不能管道set,也不会支持它,也不能使用xargs等工具,因为set是内置的。

这就是你所能做的一切:

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

顺便说一下:你也无法输入echo