字符串切片
基於模式取子串:
- ${var#*delimiter} 刪除字符串開頭到第一個分隔符之間的全部字符
- ${var##*delimiter} 刪除字符串開頭到最後一個分隔符之間的全部字符
- ${var%delimiter*} 從最右邊向左刪除到第一個分隔符之間的全部字符
- ${var%%delimiter*} 從最右邊向左刪除到最後一個分隔符之間的全部字符
查找替換
- ${var/pattern/substr} 在var表示的字符串中,查找pattern,用substr替換一次
- ${var//pattern/substr} 在var表示的字符串中,查找pattern,用substrw所有替換
- ${var/#pattern/substr} 在var表示的字符串中,查找開頭pattern,用substr替換
- ${var/%pattern/substr} 在var表示的字符串中,查找行尾pattern,用substr替換
注意:pattern中使用glob風格的通配符spa
查找刪除
- ${var/pattern} 刪除var表示的字符中第一次被pattern匹配到的字符串
- ${var//pattern} 刪除var表示的字符中全部被pattern匹配到的字符串
- ${var/#pattern} 刪除var表示的字符中行首被pattern匹配到的字符串
- ${var/%pattern} 刪除var表示的字符中行尾被pattern匹配到的字符串
字符大小寫轉換
- ${var^^} 把var中全部的字符串轉換爲大寫
- ${var,,} 把var中全部的字符串轉換爲小寫
變量賦值
- ${var:-VALUE}
- ${var:=VALUE}
- ${var:+VALUE}
- ${var:?ERROR_INFO}