版权声明:本文为博主原创文章,转载请注明文章来源。
一、花括号扩展(brace expansion)
使用方法:一对花括号扩起来即可,前后都可以再有其他东西。花括号里面可以是一列逗号分隔的字符串,或者是一个序列。
序列的格式如下:{start..end..increament}
注意点:
花括号可以嵌套。
扩展的结果不会排序,而是保持原有的顺序。
花括号扩展是完全字面的,扩展里即使有特殊字符也不会被bash解释。
花括号扩展的文件或者路径原本存在不存在是没有关系的。
二、波浪线扩展(tilde expansion)
这个用法好像很简单。
~表示家目录
~user表示user的家目录。
三、路径扩展(pathname expansion)
含有*,?,[ 的词会被当成一个模式(pattern),这个有点类似正则里的模式。而这些词会按照字典序排列成一个文件列表。
*代表任意字符,包括空字符。
?代表任意一个字符。
[set]代表set中的任意一个字符。
[!set]或者[^set]表示不在set中的任意一个字符。
posix standard:
[:alpha:], [:alnum:], [:digit:], [:lower:], [:upper:]