In einem ksh93-Skript versuche ich ein zweidimensionales Array zu verwenden. Ich muss jede Zelle mit einer Zeichenfolge "B1" initialisieren. Dies ist Teil meines Code:ksh93 "Index außerhalb des Bereichs" Fehler bei der Array-Initialisierung
#!/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
wenn ich dies ausführen, bekomme ich diesen Fehler und ich kann nicht herausfinden, warum:
+ 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
Ich habe auch versucht, diesen grundlegenden Code als Test und es funktioniert gut:
#!/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 für Ihre Hilfe. B²
In Bash schlägt Ihr Basiscode fehl und ich brauche 'Array [$ i, $ j, $ k]'. Geht das für dich? –
Nach dem Lesen Ihres Namens verstehe ich B ** 2, aber es kann andere Leser verwirren. –