本節課的腳本也同樣共享在share中了。
第四天:循環結構
內容大綱:
應用實例分析
for循環
while循環
for循環的原理

達到效果
根據昨天的菜單修改。 選擇1、2、3后還會提示是否繼續選擇的功能。選擇4仍然是退出操作。
for variable in list list 變量列表池
do
command1
command2
done
實例一
forlist.sh
#!/bin/bash
#for with list
for loop in 1 2 3 4 5 定義loop的變量 1 2 3 4 5是變量列表
do
echo ${loop}
done
當后面沒有,即等于0,則停止循環。
實例二
var.txt 為了證明變量是回車或者空格分隔,除非雙引號專門分隔
1 22
3
4
5
6
forfile.sh
#!/bin/bash
for loop in `cat var.txt`
do
echo ${loop}
done

實例三
編寫一個腳本自動生成一個C類IP地址段
IP地址段網絡部分由用戶指定
./ipaddr.sh 192.168.1
192.168.1.1
192.168.1.2
……
192.168.1.254
#!/bin/bash
for ip in `seq 1 254` seq 產生步進為1,即1-254的值
do
echo ${1}.${ip}
done


for循環嵌套
for 變量名1 in 列表1
do
for 變量名2 in 列表2
do
命令1
…
done
done
實例四
編寫一個腳本自動生成一個C類IP地址段
IP地址段網絡部分由用戶指定,主機結束部分由用戶指定
./ipaddr2.sh 192.168.1 100
192.168.1.1
192.168.1.2
……
192.168.168.1.100
#!/bin/bash
for ip4 in `seq 1 ${2}`
do
echo ${1}.${ip4}
done

#!/bin/bash
for ip3 in `seq 1 5`
do
for ip4 in `seq 1 ${2}`
do
echo ${1}.${ip3}.${ip4}
done
done

while循環的原理

界限測試=條件測試
真假測試。
如果一直為真的話則不會停止, 死循環。
while的格式
while 條件
do
命令1
命令2
done
while的應用場景
while死循環
while [ "1" == "1" ]
do
…
done
while條件循環
while [ ${num} –lt 10] 小于10一直循環
do
…
done
解決問題。
使用while來產生一個死循環
通過exit來退出整個腳本
menu-while.sh
#!/bin/bash
while [ "1" == "1" ]
do
clear
echo “——————–menu—————–”
echo “1) Show Time”
echo “2) CPU load”
echo “3) Memory free”
echo “0) Exit”
echo “——————————————–”
echo -n “Enter you chose [0-3]:”
read Chose
case ${Chose} in
0) exit ;;
1) date +%T;;
2) uptime | awk -F ‘[,:]‘ ‘{print $7}';;
3) free -m | awk ‘$1==”Mem:”{print $4}';;
*) echo “This is not between 0-3.” ;;
esac
echo -n “Do you contine [y/n]:”
read contine
if [ "${contine}" == "n" -o "${contine}" == "N" ]
then
exit
fi
done

課后練習
編寫一個腳本,產生一個二級的菜單。
第一級有三個功能項:cpu info , memory info ,exit
cpu info 第二級中有四個功能項:分別是顯示cpu的類型,顯示cpu的負載,返回主菜單,退出腳本
memory第二級中有四個功能項:分別是顯示內存剩余量,swap的剩余量,返回主菜單,退出腳本。
總結回顧
for循環的特性
他和c語言和java不一樣,不是根據判斷語句去控制次數
for實現死循環很難。while做死循環很簡單。
您可能感興趣的文章:- linux shell數組深入學習理解
- linux shell腳本學習xargs命令使用詳解
- Linux學習之CentOS(一)----在VMware虛擬機中安裝CentOS 7(圖文教程)
- linux Shell學習筆記第一天
- linux Shell學習筆記第三天
- Linux shell腳本基礎學習詳細介紹(完整版)
- linux Shell學習筆記第五天
- linux Shell學習筆記最后一節,溫故與知新
- linux Shell學習筆記第二天
- linux命令學習之10個網絡命令和監控命令
- Linux學習資料下載(電子書籍)
- linux shell腳本基礎知識學習
- Linux學習基礎教程
- Linux命令學習總結:詳解shutdown命令
- Linux命令學習總結:詳解reboot命令
- Linux學習第一天——ssh登錄和軟件安裝詳解
- 個人學習Linux知識總結
- 快速自學Linux命令的4種方法