0
ksh93スクリプトでは、2次元配列を使用しようとしています。 各セルを文字列 "B1"で初期化する必要があります。ここ は、私のコードの一部です:配列の初期化でksh93 "subscript out of range"エラーが発生する
#!/bin/ksh93
num_cols=192
echo Number of cols : $num_cols
#init matrix to blank
echo initialize the matrix
i=1
while [ $i -le $num_rows ]; do
j=1
while [ $j -le $num_cols ]; do
matrix[$i][$j]="B1"
echo $matrix[$i][$j]
j=$(($j+1))
done
i=$(($i+1))
done
私はこれを実行すると、私はそのエラーを取得し、私はその理由を把握することはできません。
+ num_cols=192
+ echo echo Number of cols : 192 echo Number of cols : 192
+ echo initialize the matrix initialize the matrix
+ i=1
+ [ 1 -le 15 ]
+ j=1
+ [ 1 -le 192 ]
+ matrix2html.sh[38]: matrix: subscript out of range
私もテストとして、この基本的なコードを試してみましたが、うまくいきます:
#!/bin/ksh93
for i in 1 2 3
do
for j in 4 5 6
do
for k in 7 8 9
do
array[$i][$j][$k]=$((i + j + k))
# echo ${array[$i][$j][$k]}
done
done
done
for i in 1 2 3
do
echo ${array[$i][4][7]}
done
Thxあなたの助けになります。 B²
bashでは、基本コードが失敗し、 'array [$ i、$ j、$ k]'が必要です。これはあなたのために働きますか? –
あなたの名前を読んだ後、私はB ** 2を理解しますが、それは他の読者を混乱させるかもしれません。 –