博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本学习总结02--数组
阅读量:5104 次
发布时间:2019-06-13

本文共 1193 字,大约阅读时间需要 3 分钟。

bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引。

数组的定义方法:

在单行中使用一列值定义一个数组

[root@new ~]# array1=(1 2 3 4 5 6)

使用索引-值定义

[root@new ~]# array2[0]="test1"[root@new ~]# array2[1]="test2"[root@new ~]# array2[2]="test3"

 使用key-value键值对

[root@new ~]# fruits=([apple]=5 [orange]=3 [banana]=4)[root@new ~]# echo ${fruits[apple]}4

 

打印数组元素:

打印出数组指定索引的数组元素内容

[root@new ~]# echo ${array2[0]}test1

 

打印出数组中的所有值

[root@new ~]# echo ${array2[*]}test1 test2 test3

或者:

[root@new ~]# echo ${array2[@]}test1 test2 test3

打印出数组的长度

[root@new ~]# echo ${#array2[*]}3

截取数组-

[root@new ~]# array=(0 1 2 3 4)[root@new ~]# echo ${array[*]:1:3}1 2 3

 更多用法参照--变量字符串的常用操作

列出数组索引

[root@new ~]# echo ${!array2[*]} 0 1 2

 删除数组

删除单个数组

[root@new ~]# unset array2[0][root@new ~]# echo ${array2[*]}test2 test3

删除整个数组

[root@new ~]# unset array2[root@new ~]# echo ${array2[*]}[root@new ~]#

 脚本应用:

[root@new sbin]# cat array.sh #/bin/bashlog=(`ls /var/log/httpd`)for((i=0;i<${#log[*]};i++))do    echo "The $i log is ${log[i]}"done[root@new sbin]# sh array.sh The 0 log is www.a.org-access_logThe 1 log is www.a.org-error_logThe 2 log is www.b.net-access_logThe 3 log is www.b.net-error_log

 

转载于:https://www.cnblogs.com/zydev/p/5725319.html

你可能感兴趣的文章
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Hat’s Words (分成两个字符串考虑)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>
DataGridView的行的字体颜色变化
查看>>
java.nio异步线程安全的IO
查看>>
(网上摘抄)云标签
查看>>
记录-时间日期
查看>>
便签:
查看>>
JS function 函数基本定义方法
查看>>
Java再学习——关于ConcurrentHashMap
查看>>
bzoj3944 Sum
查看>>
后缀表达式/逆波兰表达式
查看>>
标准模板库中的优先队列(priority_queue)
查看>>
如何处理Win10电脑黑屏后出现代码0xc0000225的错误?
查看>>
局域网内手机访问电脑网站注意几点
查看>>