Shell普通数组的应用


#赋值   

1. 单个赋值  

[root@qls /service/scripts/day12]# array1[0]=linux
[root@qls /service/scripts/day12]# array1[1]=nginx
[root@qls /service/scripts/day12]# array1[2]=php-fpm
[root@qls /service/scripts/day12]# array1[3]=mariadb

2. 赋值多个值  

[root@qls /service/scripts/day12]# array2=(linux apache php-fpm mariadb)

#如果遇到特殊的值
[root@qls /service/scripts/day12]# array3=(linux apache 'php fpm' mariadb)

#自定义索引号  

root@qls /service/scripts/day12]# array4=(linux apache [6]=php-fpm mariadb)

3. 通过命令进行赋值 

[root@qls /service/scripts/day12]# array5=($(cat /etc/hosts))

#获取数组的内容

#显示系统中所有的已定义的普通数组
[root@qls /service/scripts/day12]# declare -a 
declare -a BASH_ARGC='()'
declare -a BASH_ARGV='()'
declare -a BASH_LINENO='()'
declare -ar BASH_REMATCH='()'
declare -a BASH_SOURCE='()'
declare -ar BASH_VERSINFO='([0]="4" [1]="2" [2]="46" [3]="2" [4]="release" [5]="x86_64-redhat-linux-gnu")'
declare -a DIRSTACK='()'
declare -a FUNCNAME='()'
declare -a GROUPS='()'
declare -a PIPESTATUS='([0]="0")'
declare -a array1='([0]="linux" [1]="nginx" [2]="php-fpm" [3]="mariadb")'
declare -a array2='([0]="linux" [1]="apache" [2]="php-fpm" [3]="mariadb")'
declare -a array3='([0]="linux" [1]="apache" [2]="php fpm" [3]="mariadb")'
declare -a array4='([0]="linux" [1]="apache" [6]="php-fpm" [7]="mariadb")'
declare -a array5='([0]="127.0.0.1" [1]="localhost" [2]="localhost.localdomain" [3]="localhost4" [4]="localhost4.localdomain4" [5]="::1" [6]="localhost" [7]="localhost.localdomain" [8]="localhost6" [9]="localhost6.localdomain6")'


#获取数组中元数的个数   值的个数  索引的个数   
[root@qls /service/scripts/day12]# echo ${#array1[*]}
4
[root@qls /service/scripts/day12]# echo ${#array1[@]}
4

#获取某个索引值的长度 

[root@qls /service/scripts/day12]# echo ${#array1[0]}
5

#获取数组中的某一个值  元数  

[root@qls /service/scripts/day12]# echo ${array1[0]}
linux
[root@qls /service/scripts/day12]# echo ${array1[1]}
nginx
[root@qls /service/scripts/day12]# echo ${array1[2]}
php-fpm
[root@qls /service/scripts/day12]# echo ${array1[3]}
mariadb

#获取数组中所有的元数 值

[root@qls /service/scripts/day12]# echo ${array1[*]}
linux nginx php-fpm mariadb
[root@qls /service/scripts/day12]# echo ${array1[@]}
linux nginx php-fpm mariadb

#获取数组中的所有的索引

[root@qls /service/scripts/day12]# echo ${!array4[*]}
0 1 6 7
[root@qls /service/scripts/day12]# echo ${!array4[@]}
0 1 6 7
[root@qls /service/scripts/day12]# echo ${!array1[@]}
0 1 2 3

#从某个索引开始显示,显示剩下的所有  
[root@qls /service/scripts/day12]# echo ${array1[@]:1}
nginx php-fpm mariadb
[root@qls /service/scripts/day12]# echo ${array1[@]:0}
linux nginx php-fpm mariadb

#从某个索引开始,访问几个值 
[root@qls /service/scripts/day12]# echo ${array1[@]:0:2}
linux nginx
[root@qls /service/scripts/day12]# echo ${array1[@]:1:2}
nginx php-fpm
[root@qls /service/scripts/day12]# echo ${array1[@]:2:2}
php-fpm mariadb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值