關於shell變數的測試與內容替換

2021-07-01 18:50:56 字數 488 閱讀 1543

參考資料《鳥哥的私房菜——linux基礎學習篇(第三版)》。

在《鳥哥的私房菜——linux基礎學習篇(第三版)》第11章中,鳥哥關於變數的測試與內容替換中,鳥哥最後用範例說明了變數替換中'-'、'='、'?'三種特殊符號的用法。

看完這些例程,給我最大的感受就是var=$或者var=$或者var=$的變數替換就與c語言中唯一的三目運算子?的用法類似:

max=(x>y)?(x:y)。此處我們分析如下:

var=$:如果str不存在,則var=newvar;  //選擇後者

如果str存在,則var=$;  //選擇前者

同理「=」也可類似解釋:

var=$:如果str不存在,則var=newvar;  //選擇後者 但由於是等於號,所以str=newvar;

如果str存在,則var=$;  //選擇前者str保持原有內容

對於「?」的解釋為「

如果str存在,則var=$;  //選擇前者str保持原有內容

變數的測試與內容替換

在某些時刻我們常常需要 判斷 某個變數是否存在,若變數存在則使用既有的配置,若變數不存在則給予乙個常用的配置。我們舉底下的例子來說明好了,看看能不能較容易被你所理解呢!範例一 測試一下是否存在 username 這個變數,若不存在則給予 username 內容為 root root sor sys ...

shell中變數的測試與替換

var 與 str 為變數,我們想要針對 str 是否有配置來決定 var 的值喔!一般來說,str 代表 str 沒配置或為空的字串時 至於 str 則僅為 沒有該變數 變數配置方式 str 沒有配置 str 為空字串 str 已配置非為空字串 var var expr var var str v...

shell中變數的測試與替換

var 與 str 為變數,我們想要針對 str 是否有配置來決定 var 的值喔!一般來說,str 代表 str 沒配置或為空的字串時 至於 str 則僅為 沒有該變數 變數配置方式 str 沒有配置 str 為空字串 str 已配置非為空字串 var var expr var var str v...