kxc 发表于 2009-12-16 15:41:44

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]
查看完整版本: shell的数组该怎么赋值?