shell腳本中不少都是邏輯判斷,判斷某個數值,判斷某一個文件,或者某個目錄,最後真對判斷的某個結果再去作一些操做,在shll腳本中處處都是邏輯判斷,若是沒有判斷就沒有辦法去作一些操做,否則只能敲命令了,shell
shell中邏輯判斷的語法ide
若是a的值大於3軟後怎麼樣3d
[root@100xuni1 ~]# a=5 [root@100xuni1 ~]# if [ $a -gt 3 ]; then echo ok; fi
把上圖寫成shll腳本code
a=5,若是a的值大於3,而後echo ok,若是不大於3就echo nookblog
- 邏輯判斷表達式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意處處都是空格
大於用-gt 小於用-lt 等於-eq 不等於-nq
條件能夠寫成多箇中間用雙&的符號,或者用||符號it
[ -f file ]判斷是不是普通文件,且存在class
[ -d file ] 判斷是不是目錄,且存在基礎
[ -e file ] 判斷文件或目錄是否存在變量
[ -r file ] 判斷文件是否可讀bfc
[ -w file ] 判斷文件是否可寫
[ -x file ] 判斷文件是否可執行
if [ -z "$a" ] 這個表示當變量a的值是否爲空
有的時候想的不是太完美,萬一刪除這個文件,就會報錯,這個文件沒有看下圖報錯,
判斷下$n有沒有數值,有數值的時候再去作判斷。
**在shell中還有一種邏輯判斷叫作case,這個語句比if這些還複雜一些,
寫個腳本試一試case的做用,這個腳本的目的是讓一個用戶輸入一個數字而後咱們用這個腳本去判斷數字的範圍,好比讓你輸入0到100,這個數字表示一個同窗的分數,當你輸入這個數字咱們就要判斷出來,這個同窗的分數是什麼樣的級別,是優秀仍是及格,或者不及格