linux shell if 條件運算式總結__linux

來源:互聯網
上載者:User
概述:linux shell編程中,有很多表示比較/判斷的條件運算式,本文對它們做了一個簡要的總結 1.字串比較 ! 取反 -n str     字串 str 是否不為空白
 -z str     字串 str 是否為空白
str1  = str2     str1是否與 str2 相同
str1 != str2     str1是否與 str2 不同 2.數值大小比較 int1 -eq int2     等於
int1 -le  int2     小於等於
int1 -ge int2     大於等於
int1 -lt   int2     小於
int1 -gt  int2     大於
int1 -ne int2     不等於
3.檔案屬性判斷 -b     是否塊檔案 -c     是否字元檔案 -d     是否一個目錄 -e     檔案是否存在 -f     是否普通檔案 -g     是否設定了檔案的 SGID 位 -G     檔案歸本組所有 -h     是否符號串連與-L相同 -k     檔案是否設定了的粘貼位 -O     是否為本使用者所有 -p     檔案是否為一個具名管道
-r     檔案是否可讀
-s     檔案的長度是否不為零
-S     是否為通訊端檔案 -t fd     fd 是否在一個終端開啟 -u     是否設定了檔案的 SUID 位
-w     檔案是否可寫
-x     檔案是否可執行 4.檔案關係比較 expr1 -a expr2     如果 expr1 和 expr2 為真,則為真
expr1 -o expr2     如果 expr1 或 expr2 為真,則為真

file1 -ef file2     file1和file2有同樣的inode號 file1 -nt file2     file1比file2新 file1 -ot file2     file1比file2老
重要:C語言中運算式非零為真,而shell中if運算式0為true。通常情況下,我們如果要判斷一個指令碼是從頭執行到尾部還是中途功過exit 1等這樣的命令退出的話,我們通常在指令碼最後加上一句“ . /bin/true”,加上這一句以後,指令碼傳回值將變成0.
相關文章

聯繫我們

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