bash變數內容的刪除與取代

2021-08-20 22:50:54 字數 1948 閱讀 7558

摘自《鳥哥的linux私房菜 基礎學習版》

$每個引數字元:

variable:要修改的變數;

#:符合取代文字的[最短的]那乙個

##:符合取代文字的[最長的]那乙個

#或##代表【從變數內容的最前面開始刪除】

/:從最前面開始刪除時,從最前面的/字元開始刪除

*kerberos/bin:*用來取代0到無窮多個任意字元,用來表示一直刪除到結尾為kerberos/bin:的部分

例如:echo $path

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

用命令:

echo $

刪除的結果為:

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:

/usr/sbin:/usr/bin:/root/bin

用命令:

echo $

刪除的結果為:

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:

/usr/sbin:/usr/bin:/root/bin

從後面向前刪除內容:%

例如:echo $

為從最後面開始,刪除匹配:*bin表示式的字串,結果為:

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:

/usr/sbin:/usr/bin:/root/bin

同樣,%%代表最長的符合字串,結果為:

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:

/usr/sbin:/usr/bin:/root/bin

變數設定方式

$若變數內容符合【舊字串】,則【第乙個舊字串會被新字串取代】

$若變數內容符合【舊字串】,則【全部的舊字串會被新字串取代】

變數設定方式

str沒有設定

str為空字串

str已設定非為空字串

var=$

var=expr

var=

var=$str

var=$

var=expr

var=expr

var=$str

var=$(str+expr)

var=

var=expr

var=expr

var=$(str:+expr)

var=

var=

var=expr

var=$(str=expr)

str=exp

var=expr

str不變

var=

str不變

var=$str

var=$(str:-expr)

str=expr

var=expr

str=expr

var=expr

str不變

var=$str

var=$(str?expr)

expr輸出至stderr

var=

var=$str

var=$(str:?expr)

expr輸出至stderr

expr輸出至stderr

var=$str

linux變數內容的刪除與替代

bash 對 定義了不少用法。對變數的操作及判斷是乙個十分有用的工具,應好好學習一下,以下是說明的表列 變數的刪除 變數的提取 變數的替換 變數的刪除 提取 替換 file dir1 dir2 dir3 my.file.txt 定義乙個變數 echo file 顯示定義的變數 dir1 dir2 d...

Shell 變數的取用 刪除 取代與替換

來自 鳥哥的linux私房菜 總結做方便查閱之用 變數的取用 echo echo variable echo path echo 變數的配置守則 1.變數與變數內容以乙個等號 來鏈結,如下所示 myname vbird 2.等號兩邊不能直接接空格符,如下所示為錯誤 myname vbird 或 my...

Shell 變數的取用 刪除 取代與替換

來自 鳥哥的linux私房菜 總結做方便查閱之用 變數的取用 echo echo variable echo path echo 變數的配置守則 1.變數與變數內容以乙個等號 來鏈結,如下所示 myname vbird 2.等號兩邊不能直接接空格符,如下所示為錯誤 myname vbird 或 my...