shell的数组该怎么赋值?
有一个shell如下:#!/bin/bash
declare -a text_lines
line_count=0
IFS=$'n'
cat test.txt |
while read str_line;
do
echo "${str_line}"
text_lines[${line_count}]="${str_line}"
((line_count++))
done
num_lines=${#text_lines[@]}
echo "num_lines=$num_lines"
for (( indx=0 ; indx<=$num_lines ; indx++ ))
do
echo -e "<$indx>t${text_lines[$indx]}"
done
exit 1
test.txt的内容如下:
1. main()
2. {printf("this is first program");
3. }
运行结果如下:
1. main()
2. {printf("this is first program");
3. }
num_lines=0
<0>
可见数组并没有赋值成功,这是怎么回事啊?
页:
[1]