2 zhanfengfeng zhanfengfeng 于 2017.01.11 23:38 提问

shell 数组赋值取值问题

test.txt内容
1
2
3
4
5

shell 内容
#!/bin/bash

i=0
array=()
cat test.txt | while read -r line
do
echo "line="$line
array[$i]="$line"
echo "array[$i] = ${array[$i]}"
i=expr $i + 1
done

echo "array number = ${#array[@]}"

echo ${array[@]}
for var in ${array[@]};
do
echo "var="$var
done

执行shell后返回结果如下:
moonspirit@ubuntu:~/script$ ./test.sh
line=1
array[0] = 1
line=2
array[1] = 2
line=3
array[2] = 3
line=4
array[3] = 4
line=5
array[4] = 5
array number = 0

请问为什么var打印不出之前赋值的类容?

1个回答

devmiao
devmiao   Ds   Rxr 2017.01.14 00:33
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!