shell流程控制---shell中的運算與if語句判斷

shell中的運算

1> 數學比較運算

-eq 等於

-gt 大於

-lt 小於

-ge 大於或等於

-le 小於或等於

-ne 不等於

2> 字符串比較運算

注意字符串一定要用引號引起來

== 檢測兩個字符串是否相等  相等返回true

!= 檢測兩個字符串是否相等,不相等返回true

-z 檢測字符串長度是否爲0

-n 檢測字符串長度是否不爲0

3> 文件比較與檢查

-d 檢查文件是否存在且爲目錄

返回值爲1,說明不存在,在Linux操作系統中,只有當返回值爲0的時候纔算是true。 

-e 檢查文件或者目錄是否存在

-f 檢查文件是否存在且爲文件

-r 檢查文件是否存在且爲可讀

-s 檢查文件是否存在且不爲空

-w 檢查文件是否存在且可寫

-x 檢查文件是否存在且可執行

-O 檢查文件是否存在且被當前用戶擁有

-G 檢查文件是否存在並且默認組爲當前用戶組

file1 -nt file2 檢查file1是否比file2新

file1 -ot file2 檢查file1是否比file2舊

file1 -ef file2 檢查file1與file2是否指向同一個inode,也就是說是否擁有相同的硬鏈接

4> 邏輯運算

邏輯與運算  &&

邏輯或運算   ||

邏輯非運算    !

5> 賦值運算

=   賦值運算符

if語法

語法一:單if語句

使用範圍:只需要一步判斷,條件返回真幹什麼或者條件返回假幹什麼。

語句格式:

if [condition]                  #condition值爲true或false

     then

          commands

fi

例子:加入沒有/tmp/abc這個目錄 就創建

現在運行一下上面這個腳本文件

語法二:if-then-else 語句

適用範圍:兩步判斷,條件爲真幹什麼,條件爲假幹什麼

語法格式:

if [condition]

       then

             commands1

else

             commands

fi

例子:判斷當前用戶是否爲root

運行上述腳本文件

語法三:if-then-elif語句

適用範圍:多於兩個以上的判斷結果

語法格式:

if [condition 1]

        then

               commands1

elif [condition 2]

        then

               commands2

...

else

               commandsx

fi

例子:比較兩個數的大小

運行上述腳本文件:

上述紅框中表示傳遞的參數。 

if的高級應用

1. 條件符號使用雙圓括號,可以在條件中植入數學表達式

執行上面的腳本文件

 注意:雙小圓括號中的比較運算符,使用的是我們傳統的比較運算符 > < >= <= == !=

 2. 使用方括號可以在條件中使用通配符

運行上述腳本文件

 學習視頻:https://www.bilibili.com/video/BV1vE41127wm?p=15

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章