首页 > 代码库 > shell数组的使用

shell数组的使用

定义:  array=(1 2 3)

echo ${array[0]}

echo ${array[1]}

echo ${array[2]}

echo ${array[*]}   所有元素

echo ${array[@]}   数组的长度

数组赋值

array=(1 2 3)   此时数组中有3个元素

array[3]=4       此时数组中为4个元素

删除

unset array[0]  删除了第0个元素

截取

array=(1 2 3 4 5)

${array[@]:1:3}   截取1号到3号

结果2 3 4

echo ${array[@]:3:2}

结果4 5

数组替换

echo ${array[@]/5/6}   把数组中5替换成6,临时生效,元素族未被修改

结果 1 2 3 4 6

 

将结果变为数组

array=($(ls))

打印

所有元素  ${array[@]}或者${array[*]}

数组长度  ${#array[@]}或者${#array[*]}

单个元素  ${array[i]}

 

使用数组的一个例子,

技术分享
                                gamelist=${PWD}/gamelist
                                for pid in `awk {print $7} $gamelist`
                                do
                                    pingtai=`awk /\<‘‘‘$pid‘‘‘\>/{print $4} $gamelist`
                                    daqu=`awk /\<‘‘‘$pid‘‘‘\>/{print $6} $gamelist`
                                    destdir=${pingtai}cq_lycqly_s$daqu
                                    dbname=${pingtai}cq_s$daqu
                                    dbip=`awk /\<‘‘‘$pid‘‘‘\>/{print $5} $gamelist`
                                    array=($(awk /\<‘‘‘$pid‘‘‘\>/{print} $gamelist))
                                    for i in {0..2}
                                    do
                                       lanip=`echo ${array[i]}|cut -d: -f1`
                                       port=`echo ${array[i]} |cut -d: -f2`
                                        echo ${array[*]}
echo ---------------------------------------------------------------
#                                        array=($(echo ${array[@]:1}))
                                        echo $lanip
echo --------------------------------------------------------------
                                        echo $port
                                    done
                                done
View Code

 

shell数组的使用