Shell循環(huán)語句的使用(for循環(huán)、while循環(huán)、until循環(huán))
一.for循環(huán)
1.基本格式
讀取不同的變量值,用來逐個執(zhí)行同一組命令,經常使用在已經知道要進行多少次循環(huán)的場景。
格式: for 變量名 in 取值列表 do 命令序列 done
2.腳本小倉庫
2.1 打印一列問號
#!/bin/bash for i in {1..9} do echo -e " ? " done
2.2 打印正方形
#!/bin/bash for j in {1..9} do for i in {1..9} do echo -e " * \c" #\c換行 done echo #換行 done
2.3 九九乘法表
#!/bin/bash for j in {1..9} do for i in `seq $j` do echo -e "${i}x${j}=$[i*j] \t\c" #\t tab鍵可以對齊 done echo done
2.4 求1..10奇數和
#/bin/bash sum=0 for i in {1..10..2} do sum=$[sum+i] let i++ done echo "10以內的奇數和為:$sum"
2.5 批量創(chuàng)建用戶并修改密碼
#!/bin/bash for user in {1..10} do echo stu${user}|xargs -n1 useradd echo "123123"|passwd --stdin stu${user} done
2.6 1累加到100方法一
#!/bin/bash sum=0 for ((i=0;i<=100;i++)) do sum=$[i+sum] done echo sum=$sum
2.7 1累加到100方法二
#!/bin/bash sum=0 for i in {1..100} do let sum=$i+$sum #sum=$[i+sum] #兩種方法都可以 done echo sum=$sum
二.while循環(huán)
1.基本格式
重復測試某個條件,只要條件成立則反復執(zhí)行
格式: while [ 條件測試操作 ] do #do代表循環(huán)的開始 判斷式/命令序列 done #done代表循環(huán)的結束
2.腳本小倉庫
2.1 猜價格小游戲
#!/bin/bash p=`echo $[RANDOM%1000+1]` time=0 while true do let time++ read -p "請輸入您猜測的價格(1-1000):" h if [ $h -eq $p ] then echo "恭喜您猜中了,您一共猜測了$time次" exit elif [ $h -gt $p ] then echo "您猜測的價格過高" else echo "您猜測的價格過低" fi done
2.2 1累加到100方法三
#!/bin/bash i=0 sum=0 while [ $i -le 100 ] do sum=$[i+sum] let i++ done echo $sum
三.until循環(huán)
1.基本格式
重復測試某個條件,只要條件不成立則反復執(zhí)行
格式: until [ 條件測試操作 ] do 判斷式/命令序列 done
2.腳本小倉庫
2.1 1累加到100方法四
#!/bin/bash sum=0 i=0 until [ $i -gt 100 ] do sum=$[sum+i] let i++ done echo "{1..100}的和:$sum"
四.嵌套循環(huán)
在循環(huán)內部再使用一個循環(huán)稱為嵌套循環(huán)
格式: #!/bin/bash for ((i=1;i<5;i++)) do echo 此${i}為外部循環(huán) for((j=1;j<4;j++)) do echo -e "\t此${j}為內部循環(huán)" done done
五.循環(huán)語句中的break、exit和continue的使用
1.break的使用
當滿足條件的情況下break會跳出當前循環(huán)體
#!/bin/bash for ((i=1;i<5;i++)) do echo 此${i}為外部循環(huán) for((j=1;j<4;j++)) do if [ $j -eq 3 ] <------如果j的值為3 then break <------跳出當前循環(huán)(內部) fi echo -e "\t此${j}為內部循環(huán)" done done
2.exit的使用
當滿足條件的情況下exit會直接退出當前腳本
#!/bin/bash for ((i=1;i<5;i++)) do echo 此${i}為外部循環(huán) for((j=1;j<4;j++)) do if [ $j -eq 3 ] <------如果j的值為3 then exit <------結束當前腳本 fi echo -e "\t此${j}為內部循環(huán)" done done
3.continue的使用
continue中止某次循環(huán)中的命令,但不會完全中止整個命令
#!/bin/bash for ((i=1;i<5;i++)) do echo 此${i}為外部循環(huán) for((j=1;j<4;j++)) do if [ $j -eq 2 ] <------如果j的值為2 then continue <------中止循環(huán)中本次的命令,但不會完全中止整個循環(huán)或腳本 fi echo -e "\t此${j}為內部循環(huán)" done done
到此這篇關于Shell循環(huán)語句的使用(for循環(huán)、while循環(huán)、until循環(huán))的文章就介紹到這了,更多相關Shell循環(huán)語句內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Shell中的循環(huán)語句for、while、until實例講解
- linux shell循環(huán):for、while、until用法詳解
- Shell中的for和while循環(huán)詳細總結
- Shell中的while循環(huán)幾種使用實例詳解
- shell命令while循環(huán)中使用sleep命令代碼示例
- Shell腳本while、until循環(huán)語句簡明教程
- shell腳本實戰(zhàn)-while循環(huán)語句
- linux shell常用循環(huán)與判斷語句(for,while,until,if)使用方法
- Windows Powershell Do While 循環(huán)
- Shell腳本之while循環(huán)應用具體案例