我正在尝试运行以下shell脚本test.sh
$service=$1
$count=`ps -ef |grep -i "$service" |grep -v grep | wc -l`
echo "$count"
命令:sh test.sh abcde
我希望脚本输出0,但它给我1。
PS:我将使用php文件中的shell_exec运行此脚本,输入脚本将是来自php文件的数组元素
答案 0 :(得分:1)
您得到1
,因为ps -ef
的输出包含命令
sh test.sh abcde
,当你grep -i "abcde"
时,这匹配。您需要对此进行过滤,原因与筛选grep
的原因相同,因此请更改
grep -v grep
到
grep -E -v 'grep|test\.sh'