shell补-shell数组
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
分类:
shell实战2查漏补缺
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!