字符串切片

${#var}:返回字符串變量var的長度ide

${var:offset}:返回字符串變量var中從第offset個字符後(不包括第 offset個字符)的字符開始,到最後的部分,offset的取值在0到${#var}-1之間code

${var:offset:number}:返回字符串變量var中從第offset個字符後(不包括第offset個字符)的字符開始,長度爲number的部分字符串

${var:-length}:取字符串的最右側幾個字符
注意冒號後必須有個空格it

${var: offset: -length}: 從最左側跳過offset字符,一直向右取到距離最右側length個字符以前的內容 class

${var: -length: -offset}: 先從最右側向左取到length個字符開始,再向右取到距離最右側offset個字符之間的內容變量

注意:-length前空格

基於模式取字串

        ${var#*word}:其中word能夠是指定的任意字符

                功能:自左而右,查找var變量所存儲的字符串中,第一次出現的word,刪除字符串開頭至第一次出現word字符串(含)之間的全部字串

                ${var##*word}:同上,   含貪婪模式,不一樣的是,刪除的是字符串開頭至最後一次由word指定的字符串之間的全部內容

                eg:

                 file="var/log/messages"

                         ${file#*/}:log/messages

                         ${file##*/}:messages

${var%word*}:其中word能夠是指定的任意字符file

功能:自右而左,查找var變量所存儲的字符串中,第一次出現的word,刪除字符串開頭至第一次出現word字符串(含)之間的全部字串

                ${var%%word*}:同上,   含貪婪模式,不一樣的是,刪除的是字符串開頭至最後一次由word指定的字符串之間的全部內容

                查找替換:

                       ${var/pattern/substr}:查找var所表示的字符串中,第一次被pattern所匹配的字符串,以substr替換之

                             ${var//pattern/substr}查找var所表示的字符串中,全部能被pattern所匹配的字符串,以substr替換之

                             ${var/#pattern/substr}:查找var所表示的字符串中,行首被pattern所匹配的字符串,以substr替換之

                             ${var/%pattern/substr}查找var所表示的字符串中,行尾被pattern所匹配的字符串,以substr替換之
相關文章
相關標籤/搜索