Shell--變量內容的刪除、替代與替換


1、 變量內容的刪除與替換

 

#代表由前面開始刪除,所以這里便由開始的/刪起,*來代替0到無窮多個任意字符

%由后面向前刪除變量內容

例如:echo ${path%:*bin}刪除最有一個目錄,即從:到bin為止的字符串並且是最短的

echo ${path/sbin/SBIN}:兩個斜線中間的是舊字符,后面的是新字符

變量設置方式

說明

${變量#關鍵字}

若變量內容從頭開始的數據符合“關鍵字”,則將符合的最短數據刪除

${變量##關鍵字}

若變量內容從頭開始的數據符合“關鍵字”,則將符合的最短數據刪除

${變量%關鍵字}

若變量內容從尾向前的數據符合“關鍵字”,則將符合的最短數據刪除

${變量%%關鍵字}

若變量內容從尾向前的數據符合“關鍵字”,則將符合的最長數據刪除

${變量/舊字符串/新字符串}

若變量內容符合“舊字符串”,則第一個舊字符串會被新字符串替換

${變量//舊字符串/新字符串}

若變量內容符合“舊字符串”,則全部的舊字符串會被新字符串替換

 

2、變量的測試與內容替換

 

變量設置方式

Str沒有設置

Str為空字符串

Str已設置非為空字符串

Var=${str-expr}

Var=expr

Var=

Var=$str

Var=${str:-expr}

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=expr
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


免責聲明!

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



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