格式:
格式一、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