shell脚本——参数写进if、while格式

ps出来的进程数mavenpidszie=`ps -ef|grep maven|grep -v grep|wc -l`

mavenpidszie是当时ps出的结果,如果要用作条件判断,还是要写ps指令

例:

mavenpidszie=`ps -ef|grep maven|grep -v grep|wc -l`
mavenpidnum=`ps -ef|grep maven|grep -v grep|awk '{print $2}'`
sleep 2
echo "执行前,maven进程数为###### $mavenpidszie"
if [ "$mavenpidszie" = 0 ]
	then
	echo "设备上maven进程数为0,下一步执行mvn clean"
	/opt/app/jboss-eap-5.2/apache-maven-3.3.9/bin/mvn clean
fi

echo "等待其他maven测试进程结束…… $mavenpidnum"
while [ `ps -ef|grep maven|grep -v grep|wc -l` -ge 1 ]; do
	echo "***等5秒***"
	sleep 5
	echo "等待的maven进程号为 `ps -ef|grep maven|grep -v grep|awk '{print $2}'`" 
done

while中的条件书写方法:

while [ `ps -ef|grep maven|grep -v grep|wc -l` -ge 1 ];

同样的echo打印出来的进程数,也要用ps指令:

echo "等待的maven进程号为 `ps -ef|grep maven|grep -v grep|awk '{print $2}'`" 

这里判断条件中不能用 >=,或者<=,只能用下面的指令:

-eq //等于

-ne //不等于

-gt //大于

-ge //大于等于

-lt //小于

-le //小于等于

你可能感兴趣的:(shell脚本——参数写进if、while格式)