[color=#CCFFFF][color=#00FFFF]1、while回圈
#! /bin/bash
# while-count: display a series of numbers
count=1
while [ $count -le 5 ]; do
echo $count
count=$((count+1))
done
echo "Finished"
2、while改進選單程式
#! /bin/bash
# while-menu: a menu driven system information program
DELAY=3 # number of seconds to display results
while [[ $REPLY != 0 ]]; do
clear
cat <<- _EOF_
Please Select:
1. Display System Information
2. Display Disk Space
3. Display Home Space Utilization
0. Quit
_EOF_
read -p "Enter selection [0-3] > "
if [[ $REPLY =~ ^[0-3]$ ]]; then
if [[ $REPLY == 1 ]]; then
echo "Hostname: $HOSTNAME"
uptime
sleep $DELAY
fi
if [[ $REPLY == 2 ]]; then
df -h
sleep $DELAY
fi
if [[ $REPLY == 3 ]]; then
if [[ $(id -u) -eq 0 ]];then
echo "Home Space Utilization (All Users)"
du -sh /home/*
else
echo "Home Space Utilization ($USER)"
du -sh $HOME
fi
sleep $DELAY
fi
else
echo "Invalid entry."
sleep $DELAY
fi
done
echo "Program terminated."
3、跳出回圈
#! /bin/bash
# while-menu2: a menu driven system information program
DELAY=3 # number of seconds to display results
while true; do
clear
cat <<- _EOF_
Please Select:
1. Display System Information
2. Display Disk Space
3. Display Home Space Utilization
0. Quit
_EOF_
read -p "Enter selection [0-3] > "
if [[ $REPLY =~ ^[0-3]$ ]]; then
if [[ $REPLY == 1 ]]; then
echo "Hostname: $HOSTNAME"
uptime
sleep $DELAY
continue
fi
if [[ $REPLY == 2 ]]; then
df -h
sleep $DELAY
continue
fi
if [[ $REPLY == 3 ]]; then
if [[ $(id -u) -eq 0 ]];then
echo "Home Space Utilization (All Users)"
du -sh /home/*
else
echo "Home Space Utilization ($USER)"
du -sh $HOME
fi
sleep $DELAY
continue
fi
if [[ $REPLY == 0 ]]; then
break
fi
else
echo "Invalid entry."
sleep $DELAY
fi
done
echo "Program terminated."
4、until:while命令退出狀態不為0時終止回圈,而until命令則剛好相反,會在接收到為0的退出狀態時終止。
#! /bin/bash
# until-count: display a series of numbers
count=1
until [ $count -gt 5 ]; do
echo $count
count=$((count+1))
done
echo "Finished"
5、for回圈
for variable [in words]; do
commands
done
例:命令列中輸入:
for i in A B C D; do echo $i; done
for i in {A..D}; do echo $i; done
for i in D*; do echo $i; done
6、for:C語言形式
for (( expression1; expression2; expression3 )); do
commands
done
例:
#!/bin/bash
# simple_counter : demo of C style for command
for (( i=0; i<5; i=i+1 )); do
echo $i
done[color=#FF00FF][/color][/color][/color]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/238737.html
標籤:實用資料發布區
上一篇:求助,centos7.8做合規整改之后無法進入系統,需要匯出一個檔案,求助如何解決。
下一篇:awk正則CKECK書寫方法疑問
