shell的数组该怎么赋值?????????????????

sh/bash/dash/ksh/zsh等Shell脚本
回复
mykxc
帖子: 1
注册时间: 2009-12-16 16:00

shell的数组该怎么赋值?????????????????

#1

帖子 mykxc » 2009-12-16 16:02

有一个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>
可见数组并没有赋值成功,这是怎么回事啊?
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: shell的数组该怎么赋值?????????????????

#2

帖子 tusooa » 2009-12-31 23:57

代码: 全选

array=([value1] [value2]...)

代码: 全选

] ls -ld //
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

Re: shell的数组该怎么赋值?????????????????

#3

帖子 xzap » 2010-01-01 14:54

代码: 全选

#!/bin/bash
IFS="
"
text_lines=($(cat test.txt)) 
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
不知道是不是楼主要的效果
sucre03
帖子: 3
注册时间: 2010-02-04 11:02

Re: shell的数组该怎么赋值?????????????????

#4

帖子 sucre03 » 2010-04-09 17:09

:em01 学习了,在这里学到了很多的东西
回复