我需要读取我的命令的输出来排列和存储它们以便在我的脚本中使用之后。我的脚本是;
let i=0
declare -a array
$PS -ef|$GREP -v grep|$GREP $NAME | $SED -n 's/.*-q\s\([0-9]\+\).*/\1/p' | while read line; do
array[$i]=$line
echo ${array[$i]}
(( i++ ))
echo ${#array[@]}
done < <($PS -ef|$GREP -v grep|$GREP $NAME | $SED -n 's/.*-q\s\([0-9]\+\).*/\1/p')
echo ${#array[@]}
因此,当循环退出时,由于 subshell,数组的大小变为 0。有没有办法解决这个问题?