一.if語句格式:支援if/elif/else形式,支援巢狀
1. command執行成功(及退出狀態為0)時,執行command2
2. 當判斷條件為test命令時,判斷結果為true時,執行command2
ifcommand; thencommand1
else
command2
fiifcommand
then
command
fi
二. for語句格式
forvarin
list
docommand
done
1.讀取列表中得值
a.列表中的值預設以空格分隔,
b.當值中包含單引號需要轉義或者使用雙引號
c.值中包含空格,需使用雙引號括起來
forvarin 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. 讀取命令中得值
forvarin `cat /etc/passwd`
doecho $
vardone
4. 字段分隔符
在3的示例中,內容並不是按行輸出的,因為在shell中將【空格/製表符/換行符】看做字段分隔符
在上例中如果希望內容按行輸出,則需要修改字段分隔符
ifs.old=$ifsifs=$'\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=10while
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 ...