概述
linux的shell的编程方面很强大,最近在写脚本的时候,需要用到shell的数组。下面对最近的学习和使用做个简单的总结。
一、数组定义
linux的数组分两种,一种是普通的下标数组,一种是关联数组。前者和其他语言的数据一样通过下标进行访问。关联数组,可以通过key来获取值,key可以是数字或字符串。
普通数组,可以声明,或者直接通过赋值,如下:
declare -a array1 #array1是个普通数组
array2=("value1" "value2") #array2也是一个普通数组的,保护2个值
declare -A array3 #array3是个关联数组
二、数组的使用
2.1 向数组添加数据,无论是关联数组,还是普通数组,都可以直接通过下标进行赋值。访问也是一样。普通数组下标是从0开始 下标是:*或者@ 得到整个数组内容
array1[0]="value1"
array3["index1"]="value1"
echo ${array1[0]}
echo ${array3["index1"]}
echo ${array1[*]} #输出数组全部元素
echo ${array1[@]} #输出数组全部元素
2.2 获取数组的长度
echo ${#array1[*]}
2.3 字符串转数组
使用()可以按照默认方式即$IFS里的值将字符串进行分割
str="a b c"
array=($str) #array是包含a b c三个元素的数组
2.4 遍历数组
关联数组的一些操作
命令
含义
${!array[*]}
取关联数组所有键
${!array[@]}
取关联数组所有键
${array[*]}
取关联数组所有值
${array[@]}
取关联数组所有值
${#array[*]}
关联数组的长度
${#array[@]}
关联数组的长度
1.普通数组遍历,得到长度遍历
len=${#array1[*]}
for((i=0;i
do
es_module_host=${array1[$i]}
done2.遍历普通数组,方法二
for value in ${array1[@]};
do
echo $value
done3.遍历关联数组
for value in ${!array3[@]};
do
echo $value
done
最后
以上就是迷路豆芽为你收集整理的linux shell 数组脚本,linux环境shell脚本数组学习的全部内容,希望文章能够帮你解决linux shell 数组脚本,linux环境shell脚本数组学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复