100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > shell 遍历数组 将数组元素赋值变量

shell 遍历数组 将数组元素赋值变量

时间:2021-07-24 23:36:28

相关推荐

shell 遍历数组 将数组元素赋值变量

数组定义

array=('aaa' 18 20 'bbb' 'aba aba')

数组描述

获取数组长度

数组长度的获取方法有下面三种,常用的是前面两种。

length=${#array[@]}

length=${#array[*]}

length=${#array}

访问数组元素

数组下标是从0开始 的,如果下标是:*或者@则得到整个数组内容。

echo ${arr[2]}var=${array[3]} #将数组元素赋值给变量varecho $var

为数组元素赋值

在为数组元素赋值时候,通过索引(下标从0开始)为数组元素赋值,若存在,会替换原来的值。

array=('aaa' 18 20 'bbb' 'aba aba')array[2]=qaz

追加元素

在数组末尾追加元素通过索引(下标从0开始)为元素赋值。若不存在,则会添加一个新的元素。

array=('aaa' 18 20 'bbb' 'aba aba')array[5]=qaz

遍历数组

for elem in ${array[@]}; doecho $elem#do something....done

for i in $(seq 0 ${#array[@]}); doelem=${array[$i]}echo $elem#do something....done

举例

利用数组进行代码中文本的替换。

#codes dirFILE_DIR="/repos/codes"OLD_LINES_ARRY=('RECEIVER_STATE''INTRA''NOT_ALLOWED''EP_TO''NOT_PROCESSING_RESOURCES''UNKNOWN_LOCAL')NEW_LINES_ARRY=('CAUSE_WITH_RECEIVER_STATE''HAND_TYPE_INTRA''HAND_TYPE_NOT_ALLOWED;''HAND_TYPE_EP_TO''CAUSE_NOT_PROCESSING_RESOURCES''CAUSE_NETWORK_UNKNOWN_LOCAL')for i in $(seq 0 ${#OLD_LINES_ARRY[@]}); doold_line="${OLD_LINES_ARRY[$i]}"new_line=${NEW_LINES_ARRY[$i]}find $FILE_DIR -type f -a -iname "*.cc" | xargs sed -i "s/$old_line/$new_line/g"done

参考

/article/142266.htm

/article/69165.htm

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。