Shell数组的增删改查

                           Shell数组的增删改查                            

shell数组的定义及取值:

a=(1 2 3)
[ root@bogon tmp]# echo ${a[*]} 
1 2 3
[ root@bogon tmp]# echo ${a[@]}
1 2 3
 
增加数组元素:
[ root@bogon tmp]# a[3]=4
[ root@bogon tmp]# echo ${a[@]}
1 2 3 4
 
修改数组元素:
[ root@bogon tmp]# a[0]=freddy  
[ root@bogon tmp]# echo ${a[@]}
freddy 2 3 4
 
清空数组:
[ root@bogon tmp]# unset a
[ root@bogon tmp]# echo ${a[@]}
 
删除数组的指定值:
[ root@bogon tmp]# echo ${a[@]}
1 2 3
[ root@bogon tmp]# unset a[0]  
[ root@bogon tmp]# echo ${a[@]}
2 3
 
取指定数组范围:
[ root@bogon tmp]# a=(1 2 3 4 5)
#从下标1开始取,取3位。
[ root@bogon tmp]# echo ${a[@]:1:3}  
2 3 4
 
把数组 值3替换成freddy字符串:
[ root@bogon tmp]# echo ${a[@]/3/freddy}
1 2 freddy 4 5
[ root@bogon tmp]#
 
统计数组中的值得个数:
a = (a b c)
[ root@bogon tmp]# echo ${#a[*]}
3
 
 统计数组内的元素个数:
[ root@slavedb test]# a=(1 2 3)
[ root@slavedb test]# echo ${#a[@]}
3
 
统计变量的长度是多少:
[ root@slavedb test]# b=1234
[ root@slavedb test]# echo ${#b}
4
 
取数组内的单个元素:
[root@slavedb test1]# a=(a b c)
[root@slavedb test1]# echo ${a[0]}
a
[root@slavedb test1]# echo ${a[1]}    
b
[root@slavedb test1]# echo ${a[2]}  
c

取出数组内所有的值:
[root@slavedb array]# echo ${array[@]}
1 2 3

[root@slavedb array]# echo ${array[*]}
1 2 3

截取数组元素的一部分:
[root@slavedb array]# array=(1 2 3 4 5)
[root@slavedb array]# echo ${array[@]:1:3}
2 3 4
[root@slavedb array]#

修改数组,并没有真正的修改:
[root@slavedb array]# echo ${array[@]/2/888}
1 888 3 4 5
[root@slavedb array]# array=(1 2 3 4 5)     
[root@slavedb array]# echo ${array[@]}      
1 2 3 4 5
[root@slavedb array]# echo ${array[@]/2/888}
1 888 3 4 5
[root@slavedb array]#

数组key=value的定义方法:
[root@slavedb array]# array=([1]=one [2]=two [3]=three)
[root@slavedb array]# echo ${array[@]}
one two three
[root@slavedb array]# echo ${array[1]}
one
[root@slavedb array]# echo ${array[3]}
three

数组常用的定义方法:
[root@slavedb array]# array=($(pwd) $(w) $(uptime))
[root@slavedb array]# echo ${array[0]}             
/tmp/array
[root@slavedb array]#


 

转载于:https://www.cnblogs.com/tangshengwei/p/5446315.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值