字符串切片:
    ${var:offset:number}              #offset表示从哪个字符开始,number表示取几个字符
        url=www.baidu.com
        echo ${url:4:5}  -> baidu
        echo ${url:4}  ->baidu.com
    ${var: -number}                  #表示从右往左取几个字符,注意” - “前面必须有空格
 
基于模式的取串:
    ${var#*word}                    #表示从左至右,删除到第一个被word匹配字符中间所有的字符串
        url=www.baidu.com
        echo  ${url#*.}   ->baidu.com
     
    ${var##*word}                   #表示从左至右,删除到最后一个被word匹配字符中间所有的字符串
        url=www.baidu.com
        echo  ${url##*.}   ->com
     
    ${var%word*}                      #表示自右往左,删除到第一个匹配word的字符串
        path=’/etc/selinux/config’
        echo ${path%/*} -> /etc/selinux #取路径名
    ${var%%word*}                      #表示自右往左,删除到最后一个匹配word的字符串
     
     
     
查找替换:
 
${var/pattern/substr}                   #表示将被pattern第一次匹配的字符替换为substr
    url=www.baidu.com   
    echo ${url/www/mail}  ->mail.baidu.com
 ${var//pattern/substr}                   #表示此行中所有被pattern匹配的字符都替换为subtr
    url=www.baidu.com.cc
    echo=${url//./_}   ->www_baidu_com_cc
 
 ${var/#pattern/substr}   #行首锚定,只匹配出现在行首的字符
 ${var/%pattern/substr}   #行位锚定,只匹配出现在行尾的字符
 
字符删除:
    ${var/pattern} #删除第一次被pattern匹配的字符
    ${var//pattern} #删除整行所有被pattern匹配的字符
    ${var/#pattern} #删除行首被pattern匹配的字符
    ${var/%pattern} #删除行尾被pattern匹配的字符