[Shell]if常用判斷條件

來源:互聯網
上載者:User

[Shell]if常用判斷條件
IF 判斷之前也寫過簡單的shell指令碼,也不是轉職營運,和系統相關的工作比較少,所以不怎麼熟練。
最近由於系統總是出現各種亂七八糟的問題,也沒有人來協助,只好自己寫shell指令碼了,都是些基礎的指令碼,但由於shell的文法和通常的進階語言有些不一樣,所以還是要系統的看下常用的部分。 if語句就是很重要的一個。
這種文章很多,只是拿來主義,如果有心得體會也會加上,小計下以後備查。
基本結構: if語句塊需要使用if結束

if conditionthen    statementselif condition    then statementselse    statementsfi
tips:寫法上需要注意的是
if後面的判斷條件 方括弧和之間的判斷語句左右各要有一個空格(錯了好幾次了)

#####判斷字元是否相等
#!/bin/bashsystem=`uname -s`if [ $system = "Linux" ]    #方括弧內部兩邊有空格,等號兩邊也需要空格then    echo "Linux"else    echo "Other system"fi
常用類型的判斷寫法(類比字串)
1 字串判斷str1 = str2       當兩個串有相同內容、長度時為真str1 != str2      當串str1和str2不等時為真-n str1        當串的長度大於0時為真(串非空)-z str1        當串的長度為0時為真(空串)str1         當串str1為非空時為真2 數位判斷int1 -eq int2    兩數相等為真int1 -ne int2    兩數不等為真int1 -gt int2    int1大於int2為真int1 -ge int2    int1大於等於int2為真int1 -lt int2    int1小於int2為真int1 -le int2    int1小於等於int2為真3 檔案的判斷-r file     使用者可讀為真-w file     使用者可寫為真-x file     使用者可執行為真-f file     檔案為正規檔案為真-d file     檔案為目錄為真-c file     檔案為字元特殊檔案為真-b file     檔案為塊特殊檔案為真-s file     檔案大小非0時為真-t file     當檔案描述符(預設為1)指定的裝置為終端時為真4 複雜邏輯判斷-a         與-o         或!       非

tips:
* -eq -ne -lt -nt只能用於整數,不適用於字串,字串等於用賦值號=
* =放在別的地方是賦值,放在if [ ] 裡就是字串等於,shell裡面沒有==的,那是c語言的等於
* 整數條件運算式,大於,小於,shell裡沒有> 和< ,會被當作角括弧,只有-ge,-gt,-le,lt

[參考文章](http://rfyiamcool.blog.51cto.com/1030776/738624)

本文出自 “orangleliu筆記本” 部落格,請務必保留此出處 http://blog.csdn.net/orangleliu/article/details/38458889

相關文章

聯繫我們

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