天天看點

while 循環和until 循環

格式:​

格式一、​while COMMANDS; do COMMANDS; done

格式二、while CONDITION; do

循環體

done​

無限循環:

while true; do

循環體

done

for寫發:

for ((: for (( exp1; exp2; exp3 )); do COMMANDS; done

  相當于while的:

    (( EXP1 ))

       while (( EXP2 )); do

               COMMANDS

               (( EXP3 ))

       done

範例:硬碟

#!/bin/bash
while  : ; do
disk=​​df -h | sed -rn '/^\/dev\/sd/s/.* ([0-9]+).*/\1/p' | sort -nr | head -n1 ​​
if [ $disk -gt 80  ] ;then
echo "warning disk ​​hostname -I​​ " | mail -s "disk" ​​[email protected]​​
fi

sleep 10

done      

範例:三角形

#!/bin/bash

read -p "請輸入行數:"  line

i=1

while ((i<=line)) ;do

           k=1

        while ((k<=line-i));do

             echo -e ' \c'

               ((k++))

         done

          j=1

        while ((j<=2*i-1)) ;do

             echo -e '*\c'

                ((j++))

         done

  ((i++))

echo

done      

格式:until(一般情況下使用while)

until COMMANDS; do COMMANDS; done
until CONDITION; do
循環體
done      

說明:

​進入條件: CONDITION 為false
退出條件: CONDITION 為true​      

無限循環:

until false; do