shell程式設計(一)變數

loophome發表於2015-10-16
Shell程式中需要用變數來儲存程式的資料。Shell中的變數可分為區域性變數、環境變數、位置變數三種。

Shell語言是一種解釋型語言,它與C或Java語言不同,程式設計時無需事先宣告變數。當對一個變數進行賦值時,也就定義了變數。區域性變數指的是隻在當前的程式和程式中有效的變數。

區域性變數

shell程式的變數是無資料型別的,可以使用同一個變數存放不同資料型別的值。變數賦值之後,只需在變數前面加一個$符號即可訪問變數的值。可以用賦值符號(=)為變數賦值。變數的值如果是不帶空格的字串,則可以不加引號。變數輸出使用的命令是echo。

例如:

a=3

echo $a

環境變數

環境變數是在一個使用者的所有程式中都可以訪問的變數。系統中常常使用環境變數來儲存常用的資訊。
使用export命令可以檢視系統的環境變數列表。
環境變數的訪問:需要在一個環境變數的前面加一個$符號
環境變數的定義:使用export命令定義環境變數。環境變的名稱一般都是大寫的。
export XX=1234
echo $XX 
在系統配置檔案中定義環境變數 :上面定義的環境變數,只在當前shell中執行的所有程式中有效。系統重啟後失效。可以在系統配置中加入這些環境變數的定義。在環境變數配置檔案/etc/profile中定義兩個環境變數:
export A1=hello
export A2=12345

位置變數

位置變數:是shell程式在執行時傳入的引數。程式中可以用變數的形式來呼叫這些引數。這些引數被存放在1到9的9個特殊變數名中,被形象的稱為位置變數。同普通變數一樣,位置變數用$字首加數字來表示。例如,第5個引數,表示為$5。 

陣列變數

一對括號表示是陣列,陣列元素用“空格”符號分割開。

比如arr=(1 2 3 4 5)

獲取陣列長度${#a[@]}

列印陣列${a[*]}

讀取陣列元素${a[1]}

給陣列元素賦值a[1]=4

可以參考http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html

變數的刪除

a=33

unset a



相關文章