Shell判斷字符串是否以某些字符開頭


==比較

# 可以使用通配符
[[ $str == h*]]
# 錯誤示例,通配符會變成字符串
[[ $str == 'h*']]
[[ $str == "h*"]]
  1. 等號前后要用空格
  2. 通配符不能使用引號括起來
  3. 比較語句使用雙中括號括起來,而不是使用單中括號

=~正則比較

如果使用Bash的正則

[[ "$str" =~ ^he.* ]]
# 包含變量時,變量使用雙引號括起來
[[ "$str" =~ ^"${JAR_NAME}".* ]]
  1. he*:不要使用he,這里的號表示e字符0到多個,即h,以及heeee都是測試通過的
  2. he.*:這里只允許包含he的字符串通過測試
  3. ^he.*:這個表示是以he開頭的字符串通過檢測
  4. 通配符不能使用引號括起來
  5. 正則表達式包含變量時,變量使用雙引號括起來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM