Linux:关于脚本for循环的执行顺序
#!/bin/bashsum=0forpidin`ps-ef|grep$1|grep-vgrep|awk'{print$2}'`dosum=$[$sum+`lsof-p$...
#!/bin/bash
sum=0
for pid in `ps -ef|grep $1|grep -v grep|awk '{ print $2 }'`
do
sum=$[$sum+`lsof -p $pid|wc -l`]
done
echo $sum
这段脚本里,for循环是在每次进来时都会执行一遍`ps -ef|grep $1|grep -v grep|awk '{ print $2 }'`,然后取第一个值、第二个值、第三个值,还是说,只会执行一次`ps -ef|grep $1|grep -v grep|awk '{ print $2 }'`,然后在返回的结果集中再取第一个值、第二个值、第三个值呢? 展开
sum=0
for pid in `ps -ef|grep $1|grep -v grep|awk '{ print $2 }'`
do
sum=$[$sum+`lsof -p $pid|wc -l`]
done
echo $sum
这段脚本里,for循环是在每次进来时都会执行一遍`ps -ef|grep $1|grep -v grep|awk '{ print $2 }'`,然后取第一个值、第二个值、第三个值,还是说,只会执行一次`ps -ef|grep $1|grep -v grep|awk '{ print $2 }'`,然后在返回的结果集中再取第一个值、第二个值、第三个值呢? 展开
3个回答
展开全部
执行一次,for in 后边的`` 或 $() 会产生一个list。然后依次读取。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只会执行一次`ps -ef|grep $1|grep -v grep|awk '{ print $2 }'`,然后在返回的结果集中再取第一个值、第二个值、第三个值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
若第一句是后台执行的话(比如加个“&”),则可以不用的第一句执行完就执行第二句。
否则的话,则需要第一句执行返回后才执行第二句。
否则的话,则需要第一句执行返回后才执行第二句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询