浅析Bash中的 {花括号}
在前面的 Bash 基础系列文章中,我们或多或少地使用了一些还没有讲到的符号。在之前文章的很多例子中,我们都使用到了括号,但并没有重点讲解关于括号的内容。 这个系列接下来的文章中,我们会研究括号们的用法:如何使用这些括号?将它们放在不同的位置会有什么不同的效果?除了圆括号、方括号、花括号以外,,我们还会接触另外的将一些内容“包裹”起来的符号,例如单引号、双引号和反引号。 在这周,我们先来看看花括号 构造序列花括号在之前的《点的含义》这篇文章中已经出现过了,当时我们只对点号 我们使用
来顺序输出 0 到 10 这 11 个数。使用
可以将这 11 个数倒序输出。更进一步,可以使用
来跳过其中的奇数。 而
则从倒序输出字母表,并跳过其中的第奇数个字母。 以此类推。 还可以将两个序列进行组合:
这个命令会将从 aa 到 zz 的所有双字母组合依次输出。 这是很有用的。在 Bash 中,定义一个数组的方法是在圆括号
如果需要获取数组中的元素,就要使用方括号
先不要过分关注这里用到的三种括号,我们等下会讲到。 注意,像上面这样,我们可以定义这样一个数组:
其中 因此,还可以这样定义一个数组:
在这里,
对于进制转换,确实还有更好的方法,但这不失为一个有趣的方法。 参数展开再看回前面的
在这里,花括号的作用就不是构造序列了,而是用于参数展开。顾名思义,参数展开就是将花括号中的变量展开为这个变量实际的内容。 我们继续使用上面的
注意,Bash 中的数组索引从 0 开始,因此 3 代表第 4 个元素 像上面这样将一个数组展开成它所有的元素,只是参数展开的其中一种用法。另外,还可以通过参数展开的方式读取一个字符串变量,并对其进行处理。 例如对于以下这个变量:
如果执行:
可以输出 “too long”,也就是去掉了最后的两个 g。 (编辑:ASP站长网) |