for循環,while循環,break跳出循環,continue結束本次循環,exit退出整個腳本

for循環:

1.計算1到100的和html

#!/bin/bash
sum=0
for i in `seq 1 100`
do
    sum=$[$sum+$i]               #核心語句作加減法
done
echo $sum

 

2.列出etc目錄下的全部目錄shell

#!/bin/bash
cd /etc/                   #進入etc
for a in `ls /etc/`        #for循環ls etc
do
    if [ -d $a ]           #判斷是不是目錄   $a
    then
        echo $a            #顯示$a
        ls $a             #查看$a
    fi
done

 

最多見的for循環bash

[root@aming-01 shell]# for i in `seq 1 3`; do echo $i ;done
1
2
3

 

while循環:

語法: while 條件; do command ; done.spa

每隔30秒檢查系統負載,當負載達到10,發一份郵件                    : 冒號  和 ture 是同樣的效果3d

#!/bin/bash
while true
do
    load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1`

    if [ $load -gt 10 ]
    then
         /usr/local/sbin/mail.py zhuneianxiang@163.com "load high" "$load"
         #發郵件(發郵件腳本的路徑)
    fi
    sleep 30
    #休息三十秒
done

 

 

讓用戶不斷的輸入純數字,才中止換算:code

#!/bin/bash
while :
#while死循環
do
read -p "Please input a number: " n
#用戶交互,輸入一個數
    if [ -z "$n" ]
    #判斷n是否爲空,空結束本次循環
    then
    echo "you need input sth."
    continue
    fi
n1=`echo $n|sed 's/[0-9]//g'`
#將n中非數字的部分賦值給n1
    if [ ! -z "$n1" ]
    #判斷n1是否爲空,不爲空,說明不全是數字,continue結束本次循環,爲空,break跳出循環
    then
    echo "you just only input numbers."
    continue
    fi
    break
done
echo $n
#打印出輸入的數

 

 

break跳出循環:

#!/bin/bash
for i in `seq 1 5`
do
     echo $i
     if [ $i -eq 3 ]
     then
          break
     fi
     echo $i
done
echo aaaaa

 

 continue結束本次循環:

#!/bin/bash
for i in `seq 1 5`
do
     echo $i
     if [ $i -eq 3 ]
     then
          continue
     fi
     echo $i
done
echo aaaaa

 

 

exit退出整個腳本:

 

 

擴展
select用法 http://www.apelearn.com/bbs/thread-7950-1-1.htmlhtm

相關文章
相關標籤/搜索