十二 流程控制語句

2021-08-08 04:12:13 字數 4614 閱讀 4182

(1)if判斷(結束用fi)

if判斷:

語法:

if 條件

then 輸出

fi

eg:

num1=2

num2=2

if [ $

-eq$ ];then

echo `expr $ \* $`;fi

if-else判斷:

語法:

if 條件

then 輸出

else 輸出

fi

eg:

cd /home/data

if test -e ./a.sh

then

echo

'the file already exists!'

else

echo

'the file does not exists!'

fi

if then- else if- else判斷:(兩次判斷)

if  條件

then 輸出

elif 條件

then 輸出

else 輸出

fi

eg 1:

#!/bin/bash

a=1b=2

if [ $a == $b ]

then

echo

"a等於b"

elif [ $a

-lt$b ]

then

echo

"a小於b"

elif [ $a

-gt$b ]

then

echo

"a大於b"

else

echo

"不符合以上所有判斷"

fi結果:

[root@h data]# vi a.sh

[root@h data]# chmod +x ./a.sh

[root@h data]# ./a.sh

a小於b

eg 2:(if與test命令結合使用)----test測試:數值測試可用;字串測試必須用{}

n1=$[2*4]

n2=$[5+3]

if test $[n1] -eq $[n2]

then

echo

"n1等於n2"

else

echo

"兩數字不一樣"

fi

(2)for迴圈

語法:

for variable

in item1 item2 item3....do

輸出輸出

....

輸出done

合併成一行:

for variable

in item1 item2 item3...

.; do 輸出;輸出;...

.;輸出;done

in後面可以跟任何替換、字串、檔案

eg:

echo

"--------\例一:$*--------"

for i in

"$*";do

echo

$idone

echo

"--------\例二:$@--------"

for i in

"$@";do

echo

$i;done

執行結果:

[root@h data]# /bin/sh ./t2.sh "a" "b" "c" "d"

--------\例一:a b c d--------

a b c d

--------\例二:a b c d--------ab

cd

注:

無限迴圈

for((;;))

(3)while

通常用於處理大量的命令,或是從輸入檔案中讀取資料資訊;(命令通常指測試條件)

格式:

while 判斷條件

do輸出

done

eg 1:

#!/bin/bash

i=1while(($i

<=5))

doecho

"$i"

let"i++"

done

無限迴圈:

(不可用)while

do輸出

done

或者while

true

do輸出

done

eg 2:

echo

"what's your name?"

while

read name

doecho

"my name is $!"

done

(4)until

until 迴圈執行一系列命令直至條件為 true 時停止。until 迴圈與 while 迴圈在處理方式上剛好相反。一般while迴圈優於until迴圈,但在某些時候,也只是極少數情況下,until 迴圈更加有用。

語法:(迴圈至少執行一次)

until 條件

do輸出

done

條件: 一般為條件表示式,如果返回值為 false,則繼續執行迴圈體內的語句,否則跳出迴圈。

eg:(使用 until 命令輸出 0 ~ 9 的數字)

#!/bin/bash

echo

"--------------until--------------------"

a=3until [ ! $a

-lt6 ]

doecho

$a a=`expr $a + 1`

done

echo

"----------------while------------------------"

b=5while(($b

<=6))

doecho

$b b=`expr $b + 1`

done

執行結果:

[root@h data]# /bin/sh d.sh

-------------until--------------------34

5----------------while-----------------

56

(6)case

語法:

case 值 in

模式1)

輸出1輸出2

輸出3輸出n;;

模式2)

輸出1輸出2

輸出3輸出n;;

esac

eg:

#!/bin/bash

echo

"輸入1到3之間的數字:"

echo

"親,輸入的數字是:"

read num

case

$num

in1)

echo

"你選擇了1";;

2)echo

"你選擇了2";;

3)echo

"你選擇了3";;

*)echo

"你沒有輸入1到3之間的數字";;

esac

(7)跳出迴圈

break和continue:

break命令

跳出所有迴圈(終止執行後面操作)

continue命令

不跳出所有迴圈,僅僅跳出當前迴圈

eg:

#!/bin/bash

echo

"輸入1到3之間的數字:"

echo

"親,輸入的數字是:"

read num

while

true

docase

$num

in1|2|3)

echo

"你選擇了$num";;

*)echo

"你沒有輸入1到3之間的數字";

continue

echo

"over!"

;;esac

done

eg2:

#!/bin/bash

while

true

doecho

"輸出1~5之間的數字:"

echo

"請輸入輸出的數字是"

read num

case

$num

in1|2|3|4|5)

echo

"你選擇了$num";;

*)echo

"只能輸入1~5之間的數"

continue

echo

"over!"

;;esac

done

Python基礎程式設計 十二 流程控制

本篇文章主要關於python程式設計中的流程控制語句,包含條件,迴圈結構中會遇到的各種語句。python中條件語句是根據條件判定結果而選擇執行策略的 塊。最簡單的條件語句莫過於只存在乙個if分支的語句 if condition pass如果條件不成立時,仍有要執行的 塊,則需要使用if.else結構...

二 流程控制

1 復合語句 j a復合語句是以整個塊區為單位的語句,又稱塊語句。2 條件語句 1 if條件語句 if 表示式1 else if 表示式2 else 2 switch多分支語句 switch 表示式 case 常量值1 break case 常量值2 break default break 3 迴圈...

java語言入門(二) 流程控制語句(3)

條件選擇語句 if 語句 if if else if語句巢狀 階梯 if else 多分支語句 1.switch 表示式 這裡注意 表示式型別的值要與value1 的型別一致,值相等切有break 則會跳出迴圈,沒有則繼續執行,如果表示式的值與value的值均不一樣,則會執行預設語句塊的內容 其中表...