Linux Shell 02 流程控制語句

2022-04-02 12:25:27 字數 2295 閱讀 8616

一.if語句格式:支援if/elif/else形式,支援巢狀

1. command執行成功(及退出狀態為0)時,執行command2

2. 當判斷條件為test命令時,判斷結果為true時,執行command2

ifcommand; then

command1

else

command2

fiifcommand

then

command

fi

二. for語句格式

for

varin

list

docommand

done

1.讀取列表中得值

a.列表中的值預設以空格分隔,

b.當值中包含單引號需要轉義或者使用雙引號

c.值中包含空格,需使用雙引號括起來

for

varin i\'

m come from nanjing and i want go to "new york", i can\'t say france

doecho $

vardone

2. 從變數讀取列表

list="

aaa bbb ccc

"list=$list"

ccc" #字串追加內容

forvar

inlist

doecho $

vardone

3. 讀取命令中得值

for

varin `cat /etc/passwd`

doecho $

vardone

4. 字段分隔符

在3的示例中,內容並不是按行輸出的,因為在shell中將【空格/製表符/換行符】看做字段分隔符

在上例中如果希望內容按行輸出,則需要修改字段分隔符

ifs.old=$ifs

ifs=$'\n'

forvar

in `cat /etc/passwd`

doecho $

vardone

ifs=$ifs.old

三.while語句

#while命令中test command的格式和if語句相同

while

test command

docommand

done

1.while的測試語句結果為真或者命令退出狀態為0的時候,迴圈會一直進行下去,通常需要在迴圈體內改變test的結果

2.while的測試語句可以寫多條命令,以最後一條命令的結果為判斷依據。

3.while的測試語句比迴圈體內的語句多執行一次(即最後判斷失敗的那一次)

var1=10

while

echo $var1

[ $var -ge 0]do

echo

"now in loop

"var1=$[ $var1 -1

] done

四.until語句

# until命令的執行方式與while正好相反,當測試結果為假或者命令退出狀態非0時,迴圈繼續

# until的測試語句中也可以寫多條命令

until test command

docommand

done

五.continue和break語句

1.break 跳出迴圈

a.可以用在for/while/until語句中

b. break終止當前迴圈

c. "break n"終止指定層迴圈,n=1代表當前迴圈,n=2代表當前迴圈的上一層迴圈

2.continue 跳過本次迴圈繼續迴圈

a.用法與break基本相同

b.確保continue不會跳過對迴圈判斷條件的改變,否則會造成死迴圈

六. 迴圈的輸出

可以在done關鍵字的末尾使用管道或者重定向來處理迴圈體內的輸出

#重定向

for file in ~

doif [ -d $file]

then

echo

"$file is directory

"else

echo

"$file is file"fi

done > out

.txt

#管道for user in `cat /etc/passwd`

doecho $user

done | sort

Linux Shell流程控制

linux shell有一套自己的流程控制語句,其中包括條件語句 if 迴圈語句 for,while 選擇語句 case 下面我將通過例子介紹下,各個語句使用方法。一 shell條件語句 if用法 if語句結構 if then elif else fi if 條件測試語句 then action e...

day02 流程控制

python條件語句就是通過一條或者多條語句執行的結果 true false 來決定執行的 塊。1 根據百分制考試成績返回五級分制成績。90 100 a 80 90 b 70 80 c 60 70 d 0 60 e score int input 請輸入你的成績 if score in range ...

jsday02 流程控制

一,流程控制介紹 程式的三種基本結構 1,順序結構 從上到下執行的 就是順序結構 程式預設就是由上到下順序執行的 2,分支結構 根據不同的情況,執行對應 3,迴圈結構 迴圈結構 重複做一件事情 二,分支結構 if語句 例 第一種if 條件表示式 第二種if 條件表示式 else 第三種if 條件1 ...