中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

BASH循環的while until指的是什么

發布時間:2022-01-24 10:15:17 來源:億速云 閱讀:335 作者:柒染 欄目:開發技術

本篇文章為大家展示了BASH循環的while until指的是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

大家一定對循環非常熟悉吧,基本所有的編程都會涉及到循環,這篇文章和大家聊一下shell中循環結構while、 until。

BASH循環的while until指的是什么

shell循環:while until

循環次數不一定是固定的,可以固定,可以不固定

如果希望對一個文件進行逐行處理建議使用while循環而不是fot循環,格式為while read line;do;done

處理循環次數是固定的使用for循環,循環次數不固定則用while或者until

wait命令是等待其他命令執行完成后在執行其他命令,僅限于后臺程序

1.while語句結構

while 條件測試

do

循環體

done

當條件測試成立(條件測試為真,則執行循環體)

2.until語法結構

until 條件測試

do

循環體

done

當條件測試成立(條件測試為假),執行循環體

3.實例

3.1while實現批量用戶創建

 #!/bin/bash while  read line
 do      user=$(echo "$line" |awk '{print $1}')         pass=$(echo "$line" |awk '{print $2}')         if [ ${#user} -eq 0 ];then
                 continue
         fi         id $user &>/dev/null
         if [ $?  -eq 0 ];then
                 echo "$user already exists..."         else                 useradd $user                 echo "$pass" | passwd --stdin $user &>/dev/null
                 if [ $? -eq 0 ];then
                         echo "$user is created..."                 fi         fi 
 done $1
 
 1234567891011121314151617181920

3.2while實現測試連接主機

當主機能ping通則不輸出,當主機down后則輸出

 #!/bin/bash ip=192.168.81.10
 while ping -c1 -W1 $ip  &>/dev/null
 do         sleep 1 done echo "$ip is down" 1234567

3.3until實現測試連接主機

當主機ping不同則不輸出,當主機up后輸出

 #!/bin/bash                                                                     ip=192.168.81.10                                                                    
 until ping -c1 -W1 $ip &>/dev/null                                                  
 do                                                                                  
         sleep 1                                                                     
 done                                                                                
 echo "$ip is up"  1234567

3.4for循環實現主機探測

 #!/bin/bash for i in {1..254}
 do         {
         ip=192.168.81.$i         ping -c1 -W1 $ip  &>/dev/null
         if [ $? -eq 0 ];then
                 echo "$ip"         fi         }&
 done wait
 echo "all finish............" 
 1234567891011121314

3.5while循環實現主機探測

 #!/bin/bash i=1 while  [ $i -le 254 ]
 do         {
         ip=192.168.81.$i         ping -c1 -W1 $ip &>/dev/null
         if [ $? -eq 0 ];then
                 echo "$ip"         fi         }&
         let i++ done wait
 
 123456789101112131415

3.6until實現主機探測

 #!/bin/bash i=1 until [ $i -gt 254 ]
 do         {
         ip=192.168.81.$i         ping -c1 -W1 $ip &>/dev/null
         if [ $? -eq 0 ];then
                 echo "$ip"         fi         }&
         let i++ done wait
 echo "all finish..............." 123456789101112131415

3.6三種循環實現數值每次都進行相加

 #!/bin/bash ------------for實現-------------
 for i in {1..100}
 do         let sum=$sum+$i done echo "sum=$sum" 
 -----------------while實現-------------
 i=1 while [ $i -le 100 ]
 do         let sum=$sum+$i         let i++ done echo "sum:$sum"  
 ----------------------until實現-----------------
 i=1 until [ $i -gt 100 ]
 do         let sum+=$i         let i++ done echo "sum:$sum"

上述內容就是BASH循環的while until指的是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邢台市| 贞丰县| 六安市| 闵行区| 唐海县| 尚义县| 江达县| 城口县| 牙克石市| 韶山市| 东港市| 鹤山市| 长阳| 永春县| 常宁市| 都匀市| 赫章县| 洛浦县| 靖边县| 陵水| 中宁县| 平利县| 杂多县| 嘉峪关市| 柞水县| 长顺县| 浙江省| 赤峰市| 屏东市| 上林县| 桦甸市| 甘肃省| 彰化县| 翁源县| 五家渠市| 泾源县| 枣阳市| 额敏县| 博罗县| 曲水县| 耿马|