1

多数の配列がありますが、STDIN から入力された配列のみを反復処理したい 私のコードは次のようになります

ARR1=(a b c)
ARR2=(d e f)
ARR3=(g h i)

read array_name

for i in ${array_name[@]}
do
echo "i is $i"
done

ここで、ARR1 を入力として入力すると、ARR1 の値が印刷されません。誰か助けてくれませんか

4

1 に答える 1

0

あなたは書ける:

ARR1=(a b c)
ARR2=(d e f)
ARR3=(g h i)

read array_name

array_name="${array_name}[@]"    # append '[@]' to array_name

for i in "${!array_name}" ; do   # use indirection to expand e.g. "${ARR1[@]}"
    echo "i is $i"
done
于 2013-08-09T20:39:01.167 に答える