相同的命令给不同的输出
问题描述:
我试图执行命令:相同的命令给不同的输出
ps -e|grep some-process-name|grep -v grep|awk '{print $1}'|grep -v $$
,这让我与进程名的进程的PID:“一些进程名”
但是,当我使用在shell脚本中使用相同的长命令,并将进程名称作为命令行参数传递,并通过“$ 1”使用。我在输出中获得两个pid。
PIDS=$(ps -e|grep $1|grep -v grep|awk '{print $1}'|grep -v $$)
echo $PIDS
这是什么原因?有什么建议么?
答
我在Ubuntu 12.04的bash 4.0上看不到这种行为。 是您的平台上提供的pgrep吗? pgrep一些进程名称应该为你做的伎俩。