Bash中對輸入的處理

變量替換操作

  1. ${VAR:-value} 如果變量為空,返回新值。
  2. ${VAR:=value} 如果變量為空,返回新值且付給變量。
  3. ${VAR:?message} 如果變量為空,顯式一條消息。
  4. ${VAR:offset:length} 截取變量的一部分。

模式匹配操作

  1. ${VAR#pattern} 匹配第一個,返回后面的。
  2. ${VAR##pattern} 匹配最后一個,返回后面的。
  3. ${VAR%pattern} 從后向前匹配第一個,返回前面的。
  4. ${VAR%%pattern} 從后向前匹配至最前,返回前面的。
#!/bin/bash

PASSWD_PATH=$(which passwd)

echo "\$PASSWD_PATH is $PASSWD_PATH"
echo "\${PASSWD_PATH#*/} is ${PASSWD_PATH#*/}"
echo "\${PASSWD_PATH##*/} is ${PASSWD_PATH##*/}"
echo "\${PASSWD_PATH%/*} is ${PASSWD_PATH%/*}"
echo "\${PASSWD_PATH%%/*} is ${PASSWD_PATH%%/*}"

正則表達式

  1. ^text - Line starts with text
  2. text$ - Line ends with text
  3. . - Wildcard, match any single character
  4. [abc], [a-c] - Matchs a, b or c.
  5. * - Matches 0 or an infinitive number of the previous character.
  6. \{2\} - match exactly 2 of the previous character.
  7. \{1, 3\} - minimum 1 and maximum 3 of the previous character.
  8. colou?r - color or colour

數值計算

  1. $((1 + 1))
  2. let X="$1 $2 $3"; echo $X
  3. echo "scale=9; 10/3" | bc
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • 注:本文內容來自莊典老師(公眾號:巴赫音樂之作)在赤兔的分享。 與性格強勢同事相處時可能會遇到的幾種情況: 一、越...
    叫我大王好了啊閱讀 393評論 0 0
  • 一日,因一小事直指好友“敏感”,當時她的委屈讓我驚奇,為何對“敏感”兩字會如此拒斥?何為敏感? 現代漢語詞典這樣解...
    映一梅閱讀 267評論 0 2
  • 人生觀、價值觀能統一了,目標完成是方法和時間的問題! 得道者多助,失道者寡助!得民心者得天下!如果只是陷入做事情中...
    粟莎閱讀 269評論 0 0
  • 人要低頭做事,更要睜眼看人 擇真善人而交,擇真君子而處 人的一生,面臨一個又一個的選擇 選擇朋友,只是彼此間選擇友...
    古德毛寧Cc閱讀 199評論 0 0