Linux變量替換技術


1.1.1   ${value:-word}

如果變量value沒有定義,則返回word,如果已經賦值則返回value變量的值

result=${jimyy:-UNSET}

echo $result

由於jimyy沒有定義,因此返回UNSET

 

 

 

 

這種變量功能判斷變量在沒有定義時,確保變量始終有一個返回值。

1.1.2   ${value:=word}

當value沒有定義時,則把word賦給value,然后通過${value:=word} 值把vaule值打印出來。

result=${jimyy:=UNSET}

echo $result

echo $jimyy

結果兩個變量的值都是UNSET

 

 

 

 

這個變量功能是在變量沒有定義時,給變量賦一個值,並且返回。

 

1.1.3   ${value:? "not defined"}  當value沒有定義時,返回

bash: vaule : not defined

用於捕捉變量沒有定義而導致的錯誤

 

 

 

 

1.1.4   ${value:+word}  當變量存在且非null時,返回word,否則返回null

用於測試變量是否存在

 

 

 

 

1.1.5   ${value-word}  如果value不存在,則用word替代。

 

 變量替換功能在某些場景下有顯著的功能。

當對變量進行操作時,最好先判斷變量是否非空,比如對目錄類型的變量進行rm -rf操作,必須要對這個變量進行判斷,

因為如果變量為空,或者未賦值,則可能會從根目錄或/root目錄開始刪除,影響是特別大,因此要慎重,因此在這種場景下可以使用變量替換功能,防止意外刪除操作。

例如:

path1=/opt/server/backup/

find ${path1:=/tmp/}  -name  "*.tar.gz"  -type  f|xargs rm -f


免責聲明!

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



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