shell补-shell数组
- 回顾变量的赋值方法
-
- 直接赋值 : a=1
- 引用命令结果 : ip=$(hostname -I|awk '{print $1}')
- 通过read交互示
- 参数传递:脚本/函数参数 传参
不了解数组之前可以用 while read line这类方法
语法: 数组名称[下标],从0开始
####赋值 比较繁琐
[root@localhost ~]# ip1=10.0.0.1
[root@localhost ~]# ip2=10.0.0.2
[root@localhost ~]# ip3=10.0.0.3
[root@localhost ~]#
######通过数组 存放 类似内容
######最后可以通过循环取出
[root@localhost ~]# array[0]=10.0.0.1
[root@localhost ~]# array[1]=10.0.0.2
[root@localhost ~]# array[3]=10.0.0.3
[root@localhost ~]# echo $array[0]
10.0.0.1[0] #####这里就需要注意了要加大括号
[root@localhost ~]# echo ${array[0]}
10.0.0.1
[root@localhost ~]# echo ${array[*]}
10.0.0.1 10.0.0.2 10.0.0.3
[root@localhost ~]# echo ${array[@]}
10.0.0.1 10.0.0.2 10.0.0.3
[root@localhost ~]#
[root@localhost ~]# echo ${#array[@]} ####这加#号标识数组元素个数,也可以理解为变量子串中的变量长度。
3
[root@localhost ~]#
数组赋值方法
赋值方法 | |
---|---|
直接赋值 | [root@localhost ~]# array[0]=10.0.0.1 [root@localhost ~]# array[1]=10.0.0.2 [root@localhost ~]# array[3]=10.0.0.3 |
批量赋值 | [root@localhost ~]# array=(1 3 4 5 ) [root@localhost ~]# echo ${array[*]} 1 3 4 5 [root@localhost ~]# echo ${#array[@]} 4 [root@localhost ~]# array=(7 8 9 {1..6} ) [root@localhost ~]# echo ${#array[@]} 9 [root@localhost ~]# echo ${array[*]} 7 8 9 1 2 3 4 5 6 [root@localhost ~]#注意以空格分隔 |
从文件中赋值读取文件内容赋值 | [root@localhost array]# ips=(`cat ./iptest.txt`) [root@localhost array]# echo ${ips[*]} 10.0.0.1 10.0.0.2 10.0.0.3 [root@localhost array]# echo ${#ips[*]} 3 [root@localhost array]# echo ${#ips[@]} 3 [root@localhost array]# |
shell数组小结
- 应用场景:分析 文件中的数据
- 数组创建
-
- 直接赋值
- arr=()
- 通过arr=($(cat file))
- 数组的使用
-
- att[0]
- 循环 ${arr[*]} ${arr[@] } $
- for ip in $
- c语言for循环(了解)
for ((i=0;i<${#arr[*]};i++)) ;do echo ${arr[$i]};done
标签:10.0,shell,echo,数组,array,root,localhost,赋值
From: https://www.cnblogs.com/xjianbing/p/17903013.html