bash的扩展介绍

本篇文章主要介绍bash中的扩展。其中重点介绍了,详细介绍了有一定的参考价值,有需要的朋友可以参考一下。
    <李> bash的所有扩展(扩张)如下:
    支架扩张(花括号扩展)
    波浪号扩张(波浪号扩展)
    参数和变量扩展(参数和变量扩展)
    命令替换(命令置换)
    算术扩张(算数扩展)
    分词(单词分割)
    扩张路径名(路径扩展)
    上面列举的顺序正是bash在扩展时的顺序
     bash的扩展介绍 <李>花括号展开的定义(支架扩张)
    花括号扩展也称大括号扩展,是可以让bash生成任意字符串的一种扩展功能。它与“路径扩展”非常相似,唯一不同的是生成的字符串可以是不存在的路径或者文件名
    在bash中,花括号扩展在诸多扩展中优先级最高,因此类似于回波{a、b} $路径的语句在完成花括号扩展之后的结果应该路径b美元为一个路径,而对道路环境变量的扩展要到后续的“参数和变量扩展“阶段才开始李 <李>花括号扩展的两种格式
    3.1第一类格式为:
    序言+ {string1, string2相等,string3,…stringN} + postcript
    左右的花括号是必须的,中间的字符串列表分别由逗号隔开,注意逗号前后不能有空格,如果字符串中有空格,则需要单引号或者双引号扩起来bash
    在实际扩展时,会将序言和花括号中的所有字符串(按照从左到右的顺序)相连,最后分别加上postscript。
    此外,花括号中间至少有一个逗号,否则bash不会认为花括号扩展,例如:
    呼应{moneny},想要输出资金,需要改为回波{钱,},如下:
    [root@master01 ~] #回声{钱}
    {钱}
    [root@master01 ~] #回声{钱,}

    查钱看完整的例子(注意空格的处理)
    [root@master01 ~] #回声sp {el、il al} l
    法术泄漏碎裂
    [root@master01 ~] #回声sp {el、il al} l
    sp {el、il al} l
    [root@master01 ~] #回声sp {el、il & # 39;艾尔# 39;}l
    法术泄漏sp所有
    [root@master01 ~] #回声sp {el il,““艾尔}l
    法术泄漏sp所有
    [root@master01 ~] #回声sp {el、il & # 39;& # 39;阿尔}l
    法术泄漏sp所有
    [root@master01 ~] #回声sp {el il,“al"} l
    法术泄漏sp所有
    3.2第二类格式为:
    序言+ {& lt; START>…& lt; END> . .(增加)}+ postscript
    其中& lt; START> . . & lt; END>组合而成的表达式术语叫做序列表达式(序列扩张),表示一个特定的范围。当& lt; START>和& lt; END>是数字,代表的是数字范围,当& lt; START>和& lt; END>是单个字母时,代表是字符范围(默认LC_ALL字符排列)。你们;START>和& lt; END>必须同为数字或者字母,否则bash不认为是花括号扩展,而是原样输出。
    [root@master01 ~] #回声{1 . .12}
    1 2 3 4 5 6 7 8 9 10 11 12
    [root@master01 ~] #回声{3 . .2}
    3 2 1 0 1 2
    (root@master01 ~) #{回声。g}
    a b c d e g f
    [root@master01 ~] #回声{h . .}
    h g f e d c b
    其中的& lt; INCR>是可选的,代表的是区间范围的递增数,它必须是数字例。如:
    [root@master01 ~] #回声{0 . . 10 . .2}
    0 2 4 6 8 10
    从0开始,每递增2个数字就取出相应的数字。
    如果不指定& lt; INCR>,那么默认是1或者是1,具体是1或1者,要看前面区间范围是递增还是递减的,比如上面例子的{. . g}中默认是1,{h . .}默认为1
    另外,当& lt; START>和& lt; END>是数字时,我们可以通过数字前面加0来输出结果长度保持一致,
    [root@master01 ~] #回声{1 . .10}
    1 2 3 4 5 6 7 8 9 10
    [root@master01 ~] #回声{01 . .10}
    01 02年03 04 05 06 07年08年09年10
    [root@master01 ~] #回声{001 . .10}
    001 002 003 004 005 006 007 008 009 010
    这样格式长度一样,会显得很美观李
看完上述内容,你们对有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。

bash的扩展介绍