以下の KSH スクリプトでは、「4 行目の構文エラー: '$' 予期しない」というエラーが発生します。
!#/bin/ksh
for i in `cat pins.list`
do
set -A array_${i} `grep -i "$i " pins.txt | awk '{print $2}'`
echo "Elements of array_${i} are ${array_${i}[@]}"
done
#=================================
ファイルpins.txtを解析した後、iの反復ごとに複数の配列(array_$i)を作成しています。
作成された配列 array_block 、 array_group 、 array_range 、およびこれらの配列に正しく格納された pins.txt の要素を確認できますが、このエラーが原因でこれらの各配列の値を出力できません。これら 3 つの配列の内容をループの外に出力しても問題はありません。しかし、スクリプトでさらに処理を行うには、ループ内でこれらの配列にアクセスする必要があります。これを解決する方法はありますか?
pins.list と pins.txt の内容は次のとおりです。
pins.list (Arrays)
==================
block
group
range
pins.txt
===========
range 444
group 46
range 32
block 96
group 99
range 123
block 56
range 22
ありがとう