shel 流程控制 if語句

2022-07-31 01:39:14 字數 3144 閱讀 4241

1、if 條件判斷

①單分支if條件語句

語法:if [條件判斷式] ;then

程式fi

注意事項:

if語句的使用fi結尾

條件判斷式就是使用test命令判斷,所以中括號和條件判斷式之間必須有空格

then後面跟符合條件之後執行的語句,可以放在之後,用「:」分割,也可以換行寫入,就不需要「:」分割

例如1:判斷利率是否大於10,是輸出警告

gjl@gjl-virtual-machine:~/shelltest$ cat test09.sh

#!/bin/bash

aa=$(grep

"meim

" test08.txt | awk

'' | cut -d "

%" -f 1

)if [ "

$aa" -gt 10 ];then

echo

"12312"fi

gjl@gjl-virtual-machine:~/shelltest$

②雙分支if條件語句

語法:if [條件判斷式]

then

條件成立時,執行程式

else

條件不成立時,執行的另外乙個程式

fi③多分支if條件語句

語法:if [ 條件判斷式1 ]

then

當條件判斷式1成立時,執行程式

elif  [ 條件判斷式2 ] 

then

當條件判斷式2成立時,執行程式

...省略更多條件...

else

當所有條件都不成立時,最後執行程式

fi例如1:判斷使用者輸入的是乙個檔案還是乙個目錄

#!/bin/bash

read -p "

please input a filename:

"filename

if [ -z "

$filename"]

#panduan

file

shifou wei kong

then

echo

"qing shu ru wenjian ming

"exit

1elif [ ! -e "

$filename"]

#panduan

file

shifou cunzai

then

echo

"wen jian bu cun zai

"exit

2elif [ -f "

$filename"]

#panduan

file

shifoushi putongwenjian]

then

echo

"wenjian wei putongwenjian

"elif [ -d "

$filename"]

#panduan

file

shifoushi muluwenjian

then

echo

"gai wenjian wei mulu wenjian

"else

#ruguo dou bushi

echo

"$file is an other file

"fi

例如2:計算器(完整版)

#!/bin/bash

read -t 30 -p "

please input a num1:

"num1

read -t 30 -p "

pleasr input a num2:

"num2

read -t 30 -p "

please input a operato:

"ope

#判斷輸入的是否有值

if [ -n "

$num1

" -a -n "

$num2

" -a -n "

$ope"]

then

#判斷是否輸入的是數字,如果是數字,則為空,否則不為空

#sed 將輸入的數字替換為空,如果輸入的存在非數字,則最終為非空

test1=$(echo $num1 | sed

's/[0-9]//g')

test2=$(echo $num2 | sed

's/[0-9]//g')

#判斷是否為空,為空,說明輸入的是數字

if [ -z "

$test1

" -a -z "

$test2"]

then

#判斷操作符號是否為+-*/

if [ "

$ope

" == "+"

]then

value=$(( $num1 +$num2 ))

elif [ "

$ope

" == "-"

]then

value=$(( $num1 -$num2 ))

elif [ "

$ope

" == "*"

]then

value=$(( $num1 *$num2 ))

elif [ "

$ope

" == "/"

]then

value=$(( $num1 /$num2 ))

else

#如果操作符不為+-*/,提示輸入正確操作符

echo

"please input a valid symbol

"exit

10fi

#如果輸入的值處理後不為空,代表輸入了非數字字元,提示請輸入有效值

else

echo

"please input a valid value

"exit

11fi

#如果輸入的字元中存在空值,則提示請輸入值

else

echo

"please input content

"exit

12fi

echo

"$num3 $ope $num2 = $value

"

Python流程控制語句流程控制語句

流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...

流程控制語句

for a b c 若迴圈體中出現continue,c語句仍得到執行。while dowhile b 執行完do後大括號,再檢驗while b 條件,若為真,繼續。從而有a語句塊至少執行一次的特性。continue 迴圈體內餘下語句忽略,繼續下次迴圈。break用於跳出迴圈或switch.case....

流程控制語句

迴圈 while do while for 判斷 if else switch case 異常處理 try catch finally throw 分支 break continue label return 迴圈 while和do while語句 while語句用於在條件保持為true時反覆執行乙...