shell数组的使用

Posted on 2017-05-24 21:39  tdtdttdd  阅读(299)  评论(0)    收藏  举报

定义:  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

array=( [0]=one [1]=two [2]=three [3]=four )
${array[@]:1} # two three four,除掉第一个元素后所有元素,那么${array[@]:0}表示所有元素
${array[@]:0:2} # one two
${array[@]:1:2} # two three

数组替换

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

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3