读入数组时,bash

时间:2015-11-26 15:41:10

标签: arrays bash

我读取文件,但数组的数据只存在于循环中。在代码结束时,我尝试回显tab [3],但它是空的。

ls -t > lista.txt
N=$(wc -l lista.txt)
N=${N:0:1}
tab[$N]=0


let I=0
while read line 
do
    tab[$I]="$line"
    echo ${tab[$I]}
    ((I+1))
done <lista.txt
echo ${tab[3]} #no Value

1 个答案:

答案 0 :(得分:1)

((I+1))并未更改$I的值。您必须为其分配值

(( I = I + 1 ))

或使用增量

# You can use any of the following lines:
(( I++ ))
(( ++I ))
(( I += 1 ))