close

按此前往linux完整教學目錄

 

 

變數的設定(完全相同於shell script中設定變數的方法)

變數名稱有區分大小寫、不能以數字做名稱開頭。通常,大寫的變數名代表系統的內建變數或環境變數。

變數分為「一般變數」、「環境變數」、「系統變數」,以下先說明一般變數

(1) 在宣告變數或為變數賦值的時候,語法為:變數名稱=

(2) 在呼叫變數的值時,變數名稱之前要加上一個$符號,如:$變數名稱

$符號就是「取其值」的意思。也就是說,變數名稱是呼叫變數本身,$變數名稱是呼叫變數的值。

(重要!) 此外,亦可以用 $(命令式) 來呼叫該命令式的回傳值,範例如:

cmdtt1=$(date)

cmdtt2=date

echo $cmdtt1  #執行顯示:Wed Sep 3 08:57:32 CEST 2014 正和在命令面板中輸入date是一樣的效果,顯示了當時的時間。

echo $cmdtt2  #執行顯示:date  #只顯示一般字串而已。

要解除變數的宣告,需用:unset 變數名稱

(3) 變數的種類:

(3-1) 字串:有三種宣告方法:

(3-1-1) 裸字串:即字串兩旁並不用任何符號框住。宣告方式為:變數名稱=字串。如:kk=dd,或 kk=1。這種裸字串的宣告方法有其規則:

字串中不能包含錢號$$會被當成呼叫變數用的符號。

「連續或單一個空白字元」會被當成「單獨一個空白字元」。

若要使字串中包含單引號 ' ,可用反斜線 \ 脫逸,如:

t2=gg\'\'

echo $t2

執行顯示:gg''

若要使字串中包含雙引號 " ,可用反斜線 \ 脫逸,如:

t2=gg\"\"

echo $t2

執行顯示:gg""

(3-1-2) 單引號字串:即字串兩旁用單引號 框住。宣告方式為:變數名稱=’字串。如:kk=’dd’,或 kk=’1’。在單引號字串中,

錢號$被當成一個普通字元。

雙引號 被當成一個普通字元。如:

t1="200"

t2='gg$t1"f'

echo $t2

執行顯示:gg$t1"f

(3-1-3) 雙引號字串:即字串兩旁並不用任何符號框住。宣告方式為:變數名稱=”字串。如:kk=”dd”,或 kk=”1”。在雙引號字串中,

可以使用錢號$來呼叫變數之值。

而單引號 被當成一個普通字元。如:

t1="200"

t2="gg$t1'f"

echo $t2

執行顯示:gg200'f

(3-1-4) 字串的運算:

要將一堆字串相加在一起,並不需特別的符號,只要將字串連著寫即可。如:

t1="kk"

t2="gg"

t3=$t1"123"$t2"456"

echo $t3

執行顯示:kk123gg456

(3-1-5) 取得子字串:

要取得子字串,可用:${字串名稱:N:L} 來取得字串中序數為N的字元算起的L個字元。其中,N0開始,L個字元中包含序數為N的字元。如:

s="0123456789"

echo ${s:1:3}

執行顯示:123

(3-1-6) 取得字串長度(也就是字元數):

使用:${#字串名稱} 可取得字串長度。

(3-1-7) 取代子字串:

使用:${字串/子字串一/子字串二} 可將字串第一個子字串一,用子字串二來取代,然後回傳其結果。

使用:${字串//子字串一/子字串二} 可將字串所有的子字串一,用子字串二來取代,然後回傳其結果。

 

(3-2) 整數:Linux中並不支援浮點數,數字只能是整數類型

(3-2-1) 整數的四則運算:

整數的四則運算和求餘數,並非直接輸入程式碼就好。如果是直接輸入程式碼,如:

t1=1

t2=10

echo $t1+$t2

執行後顯示:1+10  #顯示結果的型態是一個字串,並不是一個數字。

若要執行運算式,其語法應為:$((運算式)),如:

t1=1

t2=10

echo $((t1+$t2))

執行後顯示:11  #顯示結果的型態便是一個數字了。

四則運算與求餘數的符號分別為 + - * /%。與一般程式語言無異。

 

 (3-3) 布林值:

宣告變數為真:變數名稱=true

宣告變數為假:變數名稱=false

 

(3-4) 矩陣:

(3-4-1) 宣告矩陣變數,語法如:

變數名稱=(元素一 元素二 元素三 …)

其中,每個元素之間用空白字元相隔。範例如:

A=("kkk" "bbb" "123")

echo $A    #顯示矩陣變數A的首元素。執行顯示:kkk

echo ${A[1]}    #顯示矩陣變數A中索引為1的元素(索引從0開始)。執行顯示:bbb

(3-4-2) 相關用法:

元素總數:${#矩陣變數名稱[@]} 會得出該矩陣的元素總數,其資料型態為整數,可直接拿來做數學運算。

 

 

上一篇:bash shell 基本輸入與輸出

下一篇:bash shell 環境變數

arrow
arrow
    創作者介紹
    創作者 埃伯 的頭像
    埃伯

    程式語言教學

    埃伯 發表在 痞客邦 留言(0) 人氣()