#!/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 }'`,然后在返回的结果集中再取第一个值、第二个值、第三个值呢?