Shell循環(huán)語句及中斷語句的使用
for循環(huán)語句
讀取不同的變量值,用來逐個執(zhí)行同一組命令
for 變量名 in 取值列表 do 命令序列 done
遍歷
for i in {1..10} 或 $(seq 1 10) 或 ((i=1; i<=10; i++)) do echo $i done
for i in {1..10..2} 或 $(seq 1 2 10) 或 ((i=1; i<=10; i++)) do echo $i done
例題1:批量添加用戶
①創(chuàng)建用戶名的文件
②編寫腳本
#!/bin/bash a=$(cat name.txt) for i in a do useradd $i echo "123456" | passwd --stdin $i done
③驗證
例題2:根據(jù)IP地址檢查主機狀態(tài)
#!/bin/bash for i in 192.168.100.{1..20} do ping -c 3 -i 0.5 -W 2 $i &> /dev/null if [ $? = 0 ] then echo "$i online" else echo "$i offline" fi done
while循環(huán)語句
重復測試某個條件,只要條件成立則反復執(zhí)行
while 條件測試操作 do 命令序列 done
#!/bin/bash i=0 while (($i <=10)) do echo "$i" let i++ done
例題1 猜價格游戲
#!/bin/bash price=$[$RANDOM % 1000] a=0 times=0 echo "猜猜商品價格是多少" while [ $a -eq 0 ] do let times++ read -p "請輸入你猜的價格:" b if [ $b -eq $price ];then echo "yes!" let a++ elif [ $b -gt $price ];then echo "你猜大了!" elif [ $b -lt $price ];then echo "你猜小了!" fi done echo "你總共猜了 $times 次"
例題二:批量添加用戶
#!/bin/bash i=0 while [ $i -le 4 ] do let i++ useradd stu$i echo "123456" | passwd --stdin stu$i done
until循環(huán)語句
重復測試某個條件,只要條件不成立則反復執(zhí)行
until 條件測試操作 do 命令序列 done
#顯示1-10的整數(shù) #!/bin/bash i=1 until [ $i -gt 10 ] do echo "$i" let i++ done
例題:計算1~50的值
#!/bin/bash i=1 sum=0 until [ $i -gt 50 ] do sum=$(($sum+$i)) let i++ done echo "$sum"
中斷(break和continue)
①break
break跳出單個循環(huán)
#!/bin/bash for i in {1..5} do echo "外層循環(huán) $i" for b in {1..5} do if [ $b -eq 3 ] then break fi echo "內(nèi)層循環(huán) $b" done done
②continue
continue中止某次循環(huán)中的命令,但不會完全中止整個命令
#!/bin/bash for i in {1..5} do echo "外層循環(huán) $i" for b in {1..5} do if [ $b -eq 3 ] then continue fi echo "內(nèi)層循環(huán) $b" done done
IFS字段分割符
默認包含空格,制表符,換行符
1.修改 IFS=$'\t\n' 修改成只換行 IFS=$'\n' IFS=':' IFS=',' 2.備份 IFS. OLD=$IFS IFS=$'\n' ... IFS=$IFS.OLD
例題:輸出環(huán)境變量PATH所包含的所有目錄以及其中的所有可執(zhí)行文件
#!/bin/bash OLDIFS=$IFS IFS=':' for i in $PATH do for a in $i/* do if [ -x $a -a -f $a ];then echo "$a 文件有執(zhí)行權(quán)限" fi done done IFS=$OLDIFS
到此這篇關(guān)于Shell循環(huán)語句及中斷語句的使用的文章就介紹到這了,更多相關(guān)Shell循環(huán)語句及中斷語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- shell編程中for循環(huán)語句的實現(xiàn)過程及案例
- shell腳本實戰(zhàn)-while循環(huán)語句
- Shell腳本的條件控制和循環(huán)語句
- shell腳本編程之循環(huán)語句
- shell腳本編程之循環(huán)語句學習筆記
- shell中的循環(huán)語句、判斷語句實例
- Shell腳本while、until循環(huán)語句簡明教程
- Shell腳本for循環(huán)語句簡明教程
- Shell中的循環(huán)語句for、while、until實例講解
- shell基礎(chǔ)學習中的字符串操作、for循環(huán)語句示例
- Shell循環(huán)語句的使用(for循環(huán)、while循環(huán)、until循環(huán))
相關(guān)文章
shell編程中for循環(huán)語句的實現(xiàn)過程及案例
Bash?Shell中主要提供了三種循環(huán)方式:for、while和until,下面這篇文章主要給大家介紹了關(guān)于shell編程中for循環(huán)語句的實現(xiàn)過程及案例,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-04-04Linux下date命令,格式化輸出,時間設(shè)置方法
下面小編就為大家?guī)硪黄狶inux下date命令,格式化輸出,時間設(shè)置方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03使用shell腳本找出網(wǎng)站的空頁面和404錯誤頁面
這篇文章主要介紹了使用shell腳本找出網(wǎng)站的空頁面和404錯誤頁面,本文使用一句話實現(xiàn),需要的朋友可以參考下2014-11-11shell腳本實現(xiàn)公司項目部署交付環(huán)境預檢查的思路
這篇文章主要介紹了shell腳本實現(xiàn)公司項目部署交付環(huán)境預檢查的思路,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09shell腳本中/bin/bash的作用引號與括號的使用小結(jié)
shell腳本通常第一句是#!/bin/bash,在很多情況中,如果沒有設(shè)置好這一行,那么該程序很可能無法執(zhí)行,#!/bin/bash是指此腳本使用/bin/bash來解釋執(zhí)行,本文給大家介紹shell腳本中/bin/bash的作用,引號與括號的使用,感興趣的朋友一起看看吧2023-12-12詳談Linux寫時拷貝技術(shù)(copy-on-write)必看篇
下面小編就為大家?guī)硪黄斦凩inux寫時拷貝技術(shù)(copy-on-write)必看篇。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07