monitor.sh 内容
#!/bin/sh
i=`ps -ef|grep 'monitor.sh'|grep -v grep|wc -l`
echo $i
输出的不是0,而是2,很奇怪
monitor.sh 内容
#!/bin/sh
i=`ps -ef|grep 'monitor.sh'|grep -v grep|wc -l`
echo $i
输出的不是0,而是2,很奇怪
7 回答5.4k 阅读
4 回答4.1k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答848 阅读✓ 已解决
2 回答3.3k 阅读
1 回答1.1k 阅读✓ 已解决
你管道命令里的
grep
本质上也是一个程序,会在管道里执行,它的执行参数是'monitor.sh'
。再加上你运行的这个脚本本身名字也叫这个(相当于运行了
bash
程序、执行参数是'monitor.sh'
)。你用
grep
筛选的时候这俩程序都在运行,当然会被筛选出来了。