可以这样在命令行中执行shell脚本吗:
counter=`ps -ef | grep -c "myApplication"`; if [ $counter -eq 1 ] then; echo "true";
>
上面的例子不起作用,我只得到>
个字符,这不是我想要得到的结果,这是"真的"
当我执行ps -ef | grep -c "myApplication
时,我得到1个输出.可以从脚本中的一行创建结果吗?非常感谢.
可以这样在命令行中执行shell脚本吗:
counter=`ps -ef | grep -c "myApplication"`; if [ $counter -eq 1 ] then; echo "true";
>
上面的例子不起作用,我只得到>
个字符,这不是我想要得到的结果,这是"真的"
当我执行ps -ef | grep -c "myApplication
时,我得到1个输出.可以从脚本中的一行创建结果吗?非常感谢.
它不起作用,因为你错过了fi
次来结束你的if
次陈述.
counter=`ps -ef | grep -c "myApplication"`; if [ $counter -eq 1 ]; then echo "true"; fi
您可以使用以下方法进一步缩短它:
if [ $(ps -ef | grep -c "myApplication") -eq 1 ]; then echo "true"; fi
此外,请注意@DigitalRoss' answer中提到的ps -ef | grep ...
匹配本身的问题.
事实上,你可以用pgrep
做得更好:
if [ $(pgrep -c "myApplication") -eq 1 ]; then echo "true"; fi