0
在ksh93腳本中,我試圖使用兩維數組。 我需要用字符串「B1」初始化每個單元格。 這裏是我的代碼部分:在數組初始化中出現ksh93「下標超出範圍」錯誤
#!/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,但它可能會混淆其他讀者。 –