分類: linux作業系統
2011-08-13 16:35
25人閱讀收藏
舉報 shell中的比較和判斷
一:比較
操作符比較操作 整數操作 字串操作
相同 -eq =
不同 -nq !=
大於 -gt >
小於 -lt <
大於等於 -ge
小於等於 -le
為空 -z
不為空 -n
範例:1:比較整數a和b是否相等: if [ $a = $b ] (也可以用-eq)
2:判斷整數a是否大於整數b:if [ $a > $b ]
3:比較字串a和b是否相等:if [ $a -eq $b ]
4:判斷字串a是否為空: if [ -z $a ]
注意:1:在「[」 「]」的左右兩邊都要有空格
2:和賦值不同,這裡的是等號,所以在「=」兩邊需要空格
二:判斷
-e 檔案已存在
-f 檔案是普通檔案
-s 檔案大小不為零
-d 檔案是乙個目錄
-r 檔案對當前使用者可讀
-w 檔案對當前使用者可寫
-x 檔案對當前使用者可執行
範例#!/bin/sh
folder=/home
[ -r "$folder"] && echo "it is turth"
[-f "$folder"] || echo "it is faulth"
條件判斷語句比較
流程控制進行條件語句判斷的時候,經常用到各種資料型別的變數與零值比較的問題,這裡進行乙個總結加深對資料型別的認識,不規範的與零比較語句容易讓人對參與比較的資料型別產生誤解。1.布林變數與零值比較 c 有 bool 型別,c99 標準才有布林型別 bool 用整型代替布林型別,非 0表示真,0表示假,...
四 判斷語句 if else switch
一 單if語句 語法 if 條件滿足,則執行大括號內的語句 if條件不滿足,則不執行大括號內語句 而大括號外的語句不受影響,總會執行 例 system.out.println 我是括號外語句1 intx 22 println 我是括號內語句1 println 我是括號內語句2 println 我是括...
判斷和判斷語句
判斷它如果對了就怎麼這麼做 如果錯了就怎麼這麼做 那這我們可以使用if.else這樣的判斷語句 if 判斷條件 else這樣就是它的格式 如果判斷條件是對的程式就會執行if裡面的 塊 如果判斷條件是錯的程式就會執行else裡面的 塊 案例 int a 10 if a 10 else判斷條件裡的變數等...