天天看點

linux shell腳本的編寫---003 shell腳本 變量

shell腳本的變量

定義變量

直接輸入 變量名=值 即可

注意:

變量名和等号之間不能有空格,有空格會報錯,這可能其他的程式設計語言都不一樣。

同時,變量名的命名須遵循如下規則:

命名隻能使用英文字母,數字和下劃線,首個字元不能以數字開頭。

中間不能有空格,可以使用下劃線(_)。

不能使用标點符号。

不能使用bash裡的關鍵字(可用help指令檢視保留關鍵字)。

linux shell腳本的編寫---003 shell腳本 變量

使用變量

隻需要在變量前面加上 美元符$就可以使用變量啦 如圖 輸出 aaa bbb ccc

使用變量時可以加上花括号{} 如 echo ${aaa} 這是因為 有時候會遇到這種情況 echo $aaa123 解釋器就會把 $aaa123當成一個變量(其值為空),代碼執行結果就不是我們期望的樣子了。這時候 就要給變量加上{} ${aaa}123

已定義的變量,可以被重新定義,

linux shell腳本的編寫---003 shell腳本 變量
linux shell腳本的編寫---003 shell腳本 變量

隻讀變量

使用 readonly 指令可以将變量定義為隻讀變量,隻讀變量的值不能被改變。

下面的例子嘗試更改隻讀變量,結果報錯,aaa還是第一次指派的值:

linux shell腳本的編寫---003 shell腳本 變量
linux shell腳本的編寫---003 shell腳本 變量

删除變量

使用 unset 指令可以删除變量。文法:

unset aaa

變量被删除後不能再使用。可以重新定義

unset 指令不能删除隻讀變量。

變量類型

運作shell時,會同時存在三種變量:

  1. 局部變量 局部變量在腳本或指令中定義,僅在目前shell執行個體中有效,其他shell啟動的程式不能通路局部變量。
  2. 環境變量 所有的程式,包括shell啟動的程式,都能通路環境變量,有些程式需要環境變量來保證其正常運作。必要的時候shell腳本也可以定義環境變量。
  3. shell變量 shell變量是由shell程式設定的特殊變量。shell變量中有一部分是環境變量,有一部分是局部變量,這些變量保證了shell的正常運作