Bash 初学者系列 4:在 bash 中使用数组
在前面的文章中,我们介绍了如何在 bash 中使用有限数量的变量,比如要保存一个或两个文件名或用户名。
但是,如果在 bash 脚本中需要多个变量,该怎么办?假设我们要创建一个 bash 脚本,从用户那里读取 100 个不同的输入,那么需要创建 100 个变量吗?
肯定不是这样,我们需要使用数组。
在 bash 脚本中创建第一个数组
假设我们要创建一个名为 timestamp.sh 的脚本,用来更新 5 个不同文件的时间戳。
第一种使用比较原始的方法,创建 5 个不同的变量,如下所示:
可以看到这种方法写起来比较繁琐,我们还可以使用另一种方法,创建一个包含所有文件名的数组,如下语法:
这种比较简洁,所以我们采用数组的方法,如下:
访问bash中的数组元素
与大多数编程语言中一样,数组中的元素索引是从 0 开始的,所以要访问数组中第 n 个元素,其下标索引应该是 [n - 1]。
比如,要打印数组中的第 2 个元素,可以参考如下方式:
以下 bash 脚本 reverse.sh,将倒序打印数组中的 5 个元素:
使用过 bash 的朋友可能会觉得奇怪,为什么我这里用这么多 echo 命令,而不是使用循环。我是想稍后在介绍 bash 中循环的使用。
也可以一次打印出所有数组元素:
可以打印数组元素的总数,也就是数组的大小:
数组中元素的值是可以更改的。比如,我们可以用如下方式将数组中第一个元素的值改为 a.txt:
向数组中添加元素
我们首先创建一个包含 Linux 版本名称的数组:
上述数组中包含三个元素。可以使用 += 运算符将元素添加(追加)到数组的末尾,如下所示:
现在,数组中已经有了 4 个元素,Kali 是最后一个:
删除数组中的元素
我们首先创建一个包含 5 个数字的数组,其名称为 num:
可以打印一下数组中的元素:
我们可以使用 shell 内置功能 unset 来删除 数组中的第 3 个元素:
现在,我们再来打印一下 num 数组中的元素:
上面结果可以看到,第三个元素已经被删除。
也可以使用同样的方法删除数组中所有的元素:
创建具有不同数据类型的混合数组
与其他编程语言不同,在 bash 中,可以创建包含不同数据类型的数组,如下 user.sh 所示:
上述脚本中的数组包含有四个元素,其中第二个元素为整型数据类型,其余三个元素为字符串。
以上就是本次分享全部内容,欢迎讨论。
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023