我有許多arays,並且想要分別檢查它們並檢查其長度。如何在bash中迭代數組
#!/bin/bash
arr1=(1 2 3 4)
arr2=(foo)
arrN=(1 2 3 4 a b c d)
for arr in $arr1 $arr2 $arrN
do
echo "${#arr[@]}" # $arr1 must be 4, right? Wrong.
if [ ${#arr[@]} == 1 ]
then echo "short"
elif [ ${#arr[@]} >= 4 ]
then echo "long"
else echo "so so"
fi
done
但我得到的輸出,我沒有想到。
[email protected]:~$ ./test.sh
1
short
1
short
1
short
我想我明白爲什麼它是這樣工作,但不知道如何解決它。
也,'$ ARR == $ {arr1 [0]}' 但是,我怎麼把ann'$ arr1'放入'$ arr'? – kusayu