我正在尝试存储ps的输出,然后比较它
我使用以下行:
siteminder_running=`ps -ef | grep $iplanet_home | grep LLAWP | wc -l`
当我尝试比较输出时,我发现该变量在数字前面有一个标签。
这是输出:
- 0- value
可能是什么问题?
答案 0 :(得分:2)
像ruakh指出的那样你可以使用grep -c
siteminder_running=`ps -ef | grep $iplanet_home | grep -c LLAWP`
一般来说,为了修复空白区域,我使用xargs echo
这样:
siteminder_running=`ps -ef | grep $iplanet_home | grep LLAWP | wc -l | xargs echo`
答案 1 :(得分:0)
大多数Unix和GNU / Linux版本提供的wc(1)实用程序打印到用户终端输入文件名和计数(行/字符/您要求它打印的内容),由TAB分隔。
如果是标准输入,则没有输入文件名,只会在计数前面显示一个TAB。
有几种方法可以避免这种情况,例如:
ps -ef | grep $iplanet_home | grep LLAWP | wc -l | awk '{ printf "%d\n", $0 }'
printf $(ps -ef | grep $iplanet_home | grep LLAWP | wc -l)
ps -ef | grep $iplanet_home | grep LLAWP | wc -l | sed -e 's/^[ \t]*//'
如上所述,这些只是一些例子,实际上有几十种方法可以实现这一点。