为什么不是这个bash数组填充?我相信我过去曾经这样做过。呼应${#XECOMMAND[@]}
示出了没有数据..为什么不是这个BASH阵列?
DIR=$1
TEMPFILE=/tmp/dir.tmp
ls -l $DIR | tail -n +2 | sed 's/\s\+/ /g' | cut -d" " -f5,9 > $TEMPFILE
i=0
cat $TEMPFILE | while read line ;do
if [[ $(echo $line | cut -d" " -f1) == 0 ]]; then
XECOMMAND[$i]="$(echo "$line" | cut -d" " -f2)"
((i++))
fi
done
这可能是由管道引起的子壳。试试像这样:'while ...... done <“$ TEMPFILE”' – user000001
这样做user000001,谢谢。 – Matthew
我很好奇为什么这种方法不起作用?你能否在下面发表你的答案?我很乐意给你信用 – Matthew