Linux Shell學習筆記五

來源:互聯網
上載者:User

第六課時 變數

第二部分 Shell編程

7.1 定義變數

格式:name=value  #注意:等號兩邊不能有空格!

這裡與其他指令碼語言不同的地方是:value不需要加引號就可以定義為變數值,但是在變數值為字串且

 

存在空格時,則必須使用引號將value括起來。例如:name="this is value"

 

7.1.2 訪問值

存取方法:$name,在變數名前加上"$"符號

 

7.1.3 陣列變數

建立陣列變數的最簡單方法是為每一個元素賦值,例如:

name[index]=value

這裡name為數組名,index為數組下標,value為該元素的值。

name[0]=apple

name[1]=banana

name[2]=orange

另一種定義方法是:

name=(value1 value2 value3)

 

7.1.4 訪問數組值

${name[index]}訪問指定下標的元素

${name[*]}訪問數組中所有元素

 

7.1.5 唯讀變數

$ FRUIT=kiwi

$ readonly FRUIT

$ echo $FRUIT

輸出:kiwi

$ FRUIT="other value"

錯誤:FRUIT:This variable is read only

 

7.2 刪除變數

unset name

但不能刪除使用readonly變數

 

7.3 常用SHELL變數

PWD指出當前由cd命令設定的工作目錄

UID由Shell啟動時初始化、擴充為目前使用者的數字使用者ID

PATH指出命令的搜尋路徑。

HOME目前使用者的起始目錄:cd內建命令的預設參數

 

7.6 術語

標量:標量一次只能存放一個值。

陣列變數:是一種可用於bash、ksh中為標量進行分組的機制。

局部變數:指在當前shell執行個體中存在的變數。它不能用於該shell啟動的其他程式。

環境變數:是一個可用於任何一個shell所啟動程式的變數。

shell變數:shell變數是由shell設定的一個特殊變數。shell為正確實現功能要求使用該變數。

 

 

 

第七課時  替換

8.1 變數替換。

${parameter:-word}當parameter為空白或未設定,則用word代替parameter進行替換,

 

parameter的值不變

${parameter:=word}當parameter為空白或未設定,則parameter設為word

${parameter:?message}當parameter為空白或未設定,則message作為標準錯誤列印出來,這

 

可用來檢查變數是否正確設定

${parameter:+word}當parameteter設定了,則用word代替parameter進行替換,

 

parameter值不變

 

8.3 命令和算術替換

8.3.1 命令替換

通過命令替換機制,shell可執行一個給定的命令集合,然後在命令的位置替換它們的輸出。

替換格式:

newCommandName=`command`

例如:

DATA=`date`

USERS=`who | wc -l`

UP=`data;uptime`

 

當使用$ echo $DATA時,將會執行date命令,輸出當前日期.

 

8.3.2 算術替換

在ksh,bash中,shell可執行整數算術運算,這就避免了在shell指令碼中運行額外的如expr或bc這樣的程

 

序做算術

運行。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.