UNIX系統管理:shell程式設計分支語句(1)

來源:互聯網
上載者:User
關鍵字 UNIX系統管理 shell程式設計 分支語句

完成這一章,你將能夠作以下事情:

描述條件分支語句中傳回值的作用。

使用test命令來分析一個命令的傳回值。

在shell程式中使用if和case結構。

&HTTP://www.aliyun.com/zixun/aggregation/37954.html">nbsp;1.傳回值

shell變數「? 」中保存上一個被執行命令的傳回值:

0:   命令成功地執行(真)

非零: 命令由於出現錯誤而被終止(假)

例子:

$ true           $ false

$ echo $?          $ echo $?

0              1

$ ls            $ cp

$ echo $?          Usage: cp f1 f2

0                 cp [-r] f1 ....fn d1

$ echo $?         $echo $?

0              1

$echo $?

0

UNIX作業系統的所有命令在結束的時候都會產生一個傳回值。 這個傳回值通常被用來判斷命令是正常結束(返回0)還是發生了錯誤(返回非零值)。 通過返回的非零值還可以看出發生的是什麼錯誤。 例如,語法錯誤通常返回1,true命令返回的就是0,而false命令返回的是1。

大多數的shell程式中的判斷語句都是通過分析這個傳回值來進行流程式控制制的。 shell中定義了一個特殊的變數「? 」用來保存上一個命令結束後的傳回值。

你可以通過以下方式來觀察前一個命令的傳回值:

echo $?

當你執行一個條件判斷(小於,大於,等於)的時候,傳回值會指明這個條件是否為真(返回0)或者為假(返回非零)。

條件判斷語句會在下幾節中講述。

2.test 命令

語法:

test expression 或者 [expression]

test命令對運算式進行測試,並且設置傳回值。

運算式的值   傳回值

true      0

false      非零(通常為1)

test命令能夠測試的物件有:

整數

字串

test命令被用來評估運算式並且產生傳回值。 它用參數組成邏輯運算式並且對運算式的傳回值進行評估,test命令不會產生標準輸出,你必須必須通過傳回值來判斷test命令的結果,如果運算式為真,傳回值會為0,如果運算式為假,傳回值為1。

test命令可以被單獨使用,然後你能夠看到傳回值,但它用的最多的還是在if和while結構中用來提供條件流程式控制制。

test命令的也可以用[expression]來代替。 這種方式可以提高可讀性,特別是在處理數位或者字串的時候。

注意:在"["和"]"符號的周圍必須要有空格。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.