Bash编程高级技巧:数组、特殊命令与异步操作
1. 数组操作
在Bash中,数组是一种强大的数据结构,它允许我们存储和操作多个值。以下是关于数组的一些重要操作:
-查找数组使用的下标:Bash允许数组在赋值时存在“间隙”,有时确定哪些元素实际存在是很有用的。可以使用参数扩展来实现,形式如下:
${!array[*]} ${!array[@]}其中array是数组变量的名称。与其他使用*和@的扩展一样,用引号括起来的@形式最有用,因为它会扩展为单独的单词。示例代码如下:
[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- 向数组末尾添加元素:如果需要向数组末尾追加值,仅知道数组中的元素数量是没有帮助的,因为
*和@表示法返回的值并不能告诉我们正在使用的最大数组索引。幸运的是,shell提供了一个解决方案,使用 <