shell指令碼編程之迴圈控制語句(continue/break/sleep)

來源:互聯網
上載者:User

標籤:shell bash continue/break/sleep

迴圈控制語句:

continue:提前結束本輪迴圈,而直接進入下一輪迴圈判斷;

while  CONDITION1; do

    CMD1

    ...

    if  CONDITION2; then

        continue

    fi

    CMDn

    ...

done

樣本:求100以內所有偶數之和;

#!/bin/bash#declare -i evensum=0declare -i i=0while [ $i -le 100 ]; do    let i++    if [ $[$i%2] -eq 1 ]; then        continue    fi    let evensum+=$idoneecho "Even sum: $evensum"


break:提前跳出迴圈

while  CONDITION1; do

    CMD1

    ...

    if  CONDITION2; then

        break

    fi

done

建立死迴圈:

while true; do

    迴圈體

done

退出方式:

某個測試條件滿足時,讓迴圈體執行break命令;

樣本:求100以內所奇數之和

#!/bin/bash#declare -i oddsum=0declare -i i=1while true; do    let oddsum+=$i    let i+=2    if [ $i -gt 100 ]; then        break    fidone

sleep命令:

- delay for a specified amount of time

sleep NUMBER

練習:每隔3秒鐘到系統上擷取已經登入使用者的使用者的資訊;其中,如果logstash使用者登入了系統,則記錄於日誌中,並退出;

#!/bin/bash#while true; do    if who | grep "^logstash\>" &> /dev/null; then        break    fisleep 3doneecho "$(date +"%F %T") logstash logged on" >> /tmp/users.log使用untill實現#!/bin/bash#until who | grep "^logstash\>" &> /dev/null; dosleep 3doneecho "$(date +"%F %T") logstash logged on" >> /tmp/users.log


本文出自 “汪立明” 部落格,請務必保留此出處http://afterdawn.blog.51cto.com/7503144/1916025

shell指令碼編程之迴圈控制語句(continue/break/sleep)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.