Bash脚本编程中的数组、特殊功能及异步执行技巧
1. 数组操作
在Bash脚本中,数组的操作十分重要,它能帮助我们高效地处理批量数据。下面详细介绍数组的一些关键操作。
-查找数组使用的下标:Bash允许数组在赋值时存在“间隙”,因此有时需要确定哪些元素实际存在。可以使用以下参数扩展形式来实现:
-${!array[*]}
-${!array[@]}
其中,array是数组变量的名称。与其他使用*和@的扩展一样,用引号括起来的@形式最为有用,因为它会扩展为单独的单词。示例如下:bash [me@linuxbox ~]$ foo=([2]=a [4]=b [6]=c) [me@linuxbox ~]$ for i in "${foo[@]}"; do echo $i; done a b c [me@linuxbox ~]$ for i in "${!foo[@]}"; do echo $i; done 2 4 6
-向数组末尾添加元素:如果需要向数组末尾追加值,仅知道数组中的元素数量并无帮助,因为*和@表示法返回的值并不能告诉我们正在使用的最大数组索引。不过,Bash提供了一个解决方案,即使用+=赋值运算符,它可以自动将值追加到数组末尾。示例