shell 数组的使用

2013年8月16日 由 Creater 留言 »

数组赋值方式:
(1) array=(var1 var2 var3 … varN)
(2) array=([0]=var1 [1]=var2 [2]=var3 … [n]=varN)
(3) array[0]=var1
arrya[1]=var2

array[n]=varN

(4) 部分赋值

array=(“1”  “2” [10]=”3″ “4” “5”)其中对array[0] array[1],array[10],array[11],array[12]进行了赋值。
计算数组元素个数或者长度:

(1) ${#array[@]}
(2) ${#array[*]}

了解了数组基础语法,举例说明,请看:

#!/bin/bash
NAMESERVERS=(“ns1.www.net.” “ns2.www.net.” “ns3.www.net.”)
# 得到数组长度
tLen=${#NAMESERVERS[@]}

# 循环数组
for (( i=0; i<${tLen}; i++ ));
do
echo ${NAMESERVERS[$i]}
done

在看一个复杂一点的例子,将文件内容读取到数组中:

#!/bin/bash

# 设置IFS将分割符 设置为 换行符(\n)
OLDIFS=$IFS
IFS=$’\n’

# 读取文件内容到数组
fileArray=($(cat file.txt))

# restore it
IFS=$OLDIFS
tLen=${#fileArray[@]}

# 循环显示文件内容
for (( i=0; i<${tLen}; i++ ));
do
echo “${fileArray[$i]}”
done

广告位

评论已关闭.