欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux Shell學(xué)習(xí)筆記第四天

 更新時(shí)間:2010年12月25日 17:57:31   作者:  
今天的內(nèi)容比較重要。循環(huán)的,課后作業(yè)還在研究中,出來答案后會(huì)貼到最后。

本節(jié)課的腳本也同樣共享在share中了。

第四天:循環(huán)結(jié)構(gòu)

內(nèi)容大綱:

    應(yīng)用實(shí)例分析

    for循環(huán)

    while循環(huán)

for循環(huán)的原理

達(dá)到效果

    根據(jù)昨天的菜單修改。 選擇1、2、3后還會(huì)提示是否繼續(xù)選擇的功能。選擇4仍然是退出操作。

for variable in list list 變量列表池

do

    command1

    command2

done

實(shí)例一

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

當(dāng)后面沒有,即等于0,則停止循環(huán)。

實(shí)例二

var.txt 為了證明變量是回車或者空格分隔,除非雙引號(hào)專門分隔

1 22

3

4

5

6

forfile.sh

#!/bin/bash

for loop in `cat var.txt`

do

    echo ${loop}

done


實(shí)例三

編寫一個(gè)腳本自動(dòng)生成一個(gè)C類IP地址段

IP地址段網(wǎng)絡(luò)部分由用戶指定

./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 產(chǎn)生步進(jìn)為1,即1-254的值

do

    echo ${1}.${ip}

done



for循環(huán)嵌套

for 變量名1 in 列表1

do

    for 變量名2 in 列表2

        do

            命令1

            …

        done

done

實(shí)例四

編寫一個(gè)腳本自動(dòng)生成一個(gè)C類IP地址段

IP地址段網(wǎng)絡(luò)部分由用戶指定,主機(jī)結(jié)束部分由用戶指定

./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循環(huán)的原理


界限測(cè)試=條件測(cè)試

真假測(cè)試。

如果一直為真的話則不會(huì)停止, 死循環(huán)。

while的格式

while 條件

do

    命令1

    命令2

done

while的應(yīng)用場(chǎng)景

while死循環(huán)

while [ "1" == "1" ]

do

    …

done

while條件循環(huán)

while [ ${num} –lt 10] 小于10一直循環(huán)

do

    …

done

解決問題。

使用while來產(chǎn)生一個(gè)死循環(huán)

通過exit來退出整個(gè)腳本

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


課后練習(xí)

編寫一個(gè)腳本,產(chǎn)生一個(gè)二級(jí)的菜單。

第一級(jí)有三個(gè)功能項(xiàng):cpu info , memory info ,exit

cpu info 第二級(jí)中有四個(gè)功能項(xiàng):分別是顯示cpu的類型,顯示cpu的負(fù)載,返回主菜單,退出腳本

memory第二級(jí)中有四個(gè)功能項(xiàng):分別是顯示內(nèi)存剩余量,swap的剩余量,返回主菜單,退出腳本。

總結(jié)回顧

for循環(huán)的特性

他和c語言和java不一樣,不是根據(jù)判斷語句去控制次數(shù)

for實(shí)現(xiàn)死循環(huán)很難。while做死循環(huán)很簡(jiǎn)單。

相關(guān)文章

最新評(píng)論