bash學習之條件語句(三)

2021-08-31 11:35:01 字數 2394 閱讀 7073

在具體說明條件語句之前,先引入一下測試語句。顧名思義,測試語句就相當於布林型別,可以用來條件語句的判斷。

1.測試語句有兩種,第一種是test express 的測試語句,另一種是[ express ] 的測試語句,這兩種語句都是返回的乙個布林型別的值。下面說明這兩個語句的具體用法:

數值比較:

num1 -eq num2  :

#num1=num2

num1 -gt num2 :

#num1>num2

num1 -ge num2 : #num1>=num2

num1 -lt num2 :

#num1num1 -le num2 :

#num1<=num2

檔案:

-e :

#存在為真

-f :

#是否是檔案

-d: #是否是資料夾

當然,檔案的可選引數並非只有這些,有興趣的可以自己去查閱資料

字串:

=  :#判斷相等!=:

#不等-z :

#是否為空,相當於empty方法

-n : #是否不為空

2.if選擇語句

語法結構

if

[ express1 ]

then

command

elif

[ express2 ]

then

command

else

command

fi

上面的即bash中的if語句,當然elif 和 else可以沒有,程式將會從上向下進行判斷,當進入乙個判斷之後,後面的就不會在判斷了

程式1:

#!/bin/bash

#if語句用法

var1=12

var2=10if[

$var1 -lt $var2

]then

echo

$var1 \<

$var2

elif

[$var1 -eq $var2

]then

echo

$var1

=$var2

else

echo

$var1 \>

$var2

fi

執行結果

程式說明:

由於bash裡面< , > 有著特殊的含義,因此用\進行轉義

3.case選擇語句

語法結構

case express in

value1)command1;

; value2)command2;

; *)commandn;

;esac

最後的 *) 是乙個預設的選擇結構,全部匹配

程式2:

#!/bin/bash

#case語句用法

case

$logname

in"root"

)echo 使用者為超級使用者;

;"curve"

)echo 使用者為管理員;

; *)echo 未知使用者;

;esac

echo

$logname

執行結果:

case的作用相當於c語言中的switch。只不過風格不一樣 ;; 用來作為乙個語句的退出,另外結尾有乙個esac (case的反寫)作為判斷case的結尾

4.select條件語句

select語句和case一樣是乙個多條件選擇語句,不過,select會在in後面新增一些可選項,這些可選項會在終端顯現出來,選擇其中乙個(填數字),如下:

程式3:

#!/bin/bash

#select語句用法

select m in 雞 鴨 魚

dobreak

done

echo 你喜歡的是$m

5.邏輯組合

當需要一些邏輯表達是組合的時候可以和高階語法的邏輯組和符運用

高階語法一樣用 && || !

當然,bash也有著自己風格的組合表達方式如下

-a 相當與&&

-o 相當與||

小結:bash的選擇結構和其他語法的類似,之後過有著自己的風格,並且每個語句最後都要這個語句反寫作為結束。bash的邏輯判斷除了能用高階語法中的方法外,還有這自己風格的方法。

Python學習之條件語句

coding utf 8 使用逗號隔開抖個輸出語句 print age 42 輸出自動轉換後的字串 name gumby salutation mr.greeting hello.print greeting salutation,name import math as foobar print f...

python學習之條件語句(if迴圈)

python條件語句是通過一條或多條語句的執行結果 true或者false 來決定執行的 塊。可以通過下圖來簡單了解條件語句的執行過程 python程式語言指定任何非0和非空 null 值為true,0 或者 null為false。python 程式設計中 if 語句用於控制程式的執行,基本形式為 ...

Python快速入門(三)之條件語句

條件語句 一 單項判斷 單項判斷使用if語句,可以理解為如果。就。示例 如果2大於1,則輸出 結果為真 if 2 1 print 結果為真 二 雙向判斷 雙向判斷使用if else 語句,如果滿足if條件則執行if 塊 若不滿足if的條件則執行else 塊 示例 如果2大於1,則輸出 自動化測試 否...