我正在尝试编写一组函数,可以检查当我遇到一些意外输出时是否正在运行进程名称。我已经凝结的问题取决于系统ps命令,可以采取“-fC的论点下面的脚本名称isRunning.sh ...无法理解ps | wc输出差异
#!/bin/bash
progname=isRunning.sh
ps -fC isRunning.sh
pRet=`ps -fC ${progname} | wc -l`
echo pRet $pRet
psOut=`ps -fC ${progname}`
wcOut=`echo "${psOut}" | wc -l`
echo
echo ps output
echo "${psOut}"
echo
echo wcOut $wcOut
在管道ps输出的第一次尝试WC得到3的回报。第二次尝试获得预期的2的返回值。任何人都可以解释这种行为吗?我认为这是我忽略的一些愚蠢的东西。
感谢, BBB
编辑:我的输出
UID PID PPID C STIME TTY TIME CMD
root 6717 5940 0 13:10 pts/0 00:00:00 /bin/bash ./isRunning.sh
pRet 3
ps output
UID PID PPID C STIME TTY TIME CMD
root 6717 5940 0 13:10 pts/0 00:00:00 /bin/bash ./isRunning.sh
wcOut 2
请向我们展示您的程序的输出。 –
我似乎无法得到这个帖子格式化我想要的方式。 – bittramp
改为编辑您的问题。注释不适用于格式文本 –