在网上被多次问到,如何把文章中的每一行都存储到shell的数组中,哈哈,其实只要合理运用shell的数组、重定向和循环结构实现起来很容易的。
 
信手写了一个,但作为例子足够说明问题了。
这个例子是把系统的用户名都存储到shell的数组PASSWD中,并打印出来。
    1 #!/bin/ksh
    2 #!/bin/bash
    3 # wang_xiaoyu@qq.com
    4 ############ 存储每个用户名到数组PASSWD中
    5 # 数组下标初始化
    6 index=0
    7 while read LINE
    8 do
    9                 PASSWD[$index]=`echo $LINE | awk -F: '{print $1}'`
10 #             echo $index
11 #             echo ${PASSWD[$index]}
12                 let index++
13 done < /etc/passwd #要读取的文件,生产中可设置为变量
14 ############ 打印每个数据元素
15 index=0
16 while [ $index -lt ${#PASSWD[*]} ]
17 do
18                 echo -en ${index}":\t"${PASSWD[$index]}"\n"
19                 sleep 1
20                 let index++
21 done
~