hellopasswdshell
定义数组 a=(1 2 3 4 5);echo ${a[@]}数组
echo $(#a[@]}获取数组的元素个数code
echo ${a[2]}读取第三个元素,数组从0开始co
echo ${a[*]}等同于${a[@]}显示整个数组block
数组赋值localhost
a[1]=100;echo ${a[@]}
a[5]=2;echo ${a[@]}若是下标不存在则会自动添加一个元素
数组的删除
uset a;unset a[1]
数组分片
a=(seq 1 5
)
echo ${a[@]:0:3}从第一个元素开始,截取3个
echo ${a[@]:1:4}从第二个元素开始,截取4个
echo ${a[2]:0-3:2}从倒数弟3个元素开始,截取2个
数组替换
echo ${a[@]/3/100}
a=(${a[@]/3/100})
定义数组
[root@localhost shell]# b=(1 2 3)
数组赋值
[root@localhost shell]# echo ${b[@]} 1 2 3 [root@localhost shell]# echo ${b[*]} 1 2 3 [root@localhost shell]# echo ${b[1]} 2 [root@localhost shell]# echo ${b[2]} 3 [root@localhost shell]# echo ${b[3]} [root@localhost shell]# echo ${b[0]} 1
获取个数
[root@localhost shell]# echo ${#b[@]} 3
[root@localhost shell]# b[3]=a [root@localhost shell]# echo ${b[*]} 1 2 3 a
数组的删除
[root@localhost shell]# unset b[3] [root@localhost shell]# echo ${b[*]} 1 2 3 [root@localhost shell]# unset b [root@localhost shell]# echo ${b[*]}
分片
[root@localhost shell]# a=(`seq 1 10`) [root@localhost shell]# echo ${a[*]} 1 2 3 4 5 6 7 8 9 10 [root@localhost shell]# echo ${a[@]:3:4} 4 5 6 7 [root@localhost shell]# echo ${a[@]:0-3:2} 8 9
这里取后边3必须用0-3,不能用负数
替换
[root@localhost shell]# echo ${a[@]/8/6} 1 2 3 4 5 6 7 6 9 10
[root@localhost shell]# a=(${a[@]/8/6}) [root@localhost shell]# echo ${a[@]} 1 2 3 4 5 6 7 6 9 10
修改于 180301