亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

linux Shell學(xué)習(xí)筆記最后一節(jié),溫故與知新 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.ishadingyu.com - 電腦資料】

    作者: 字體:[增加 減小] 類(lèi)型:轉(zhuǎn)載

    linux Shell學(xué)習(xí)筆記最后一節(jié),這節(jié)是對(duì)前面章節(jié)的小結(jié),學(xué)習(xí)shell編程的朋友可以參考下,

linux Shell學(xué)習(xí)筆記最后一節(jié),溫故與知新

。

    腳本編寫(xiě)技巧

    腳本文件名命名規(guī)則

   

    文件名的字符包括

    字母、數(shù)字、"."、"_"和"-", 注意:腳本的文件名命名不能以數(shù)字開(kāi)頭。

    腳本文件名的命名,盡量使用英文單詞、詞組或短句的縮寫(xiě)。

    腳本版本管理

    腳本作用.主版本號(hào).修改次數(shù).shell類(lèi)型

    變量命名規(guī)范

   

    變量名可以由數(shù)字和字母組成

    變量名采用全部英文字符小寫(xiě)的方式

    變量名稱(chēng)盡量使用縮寫(xiě),最好不要超過(guò)6個(gè)字符

    ${變量名} 例:${port},${ipaddr}…

    腳本代碼注釋規(guī)范

   

    腳本代碼注釋可以使用"#"和";(分號(hào))"兩種方式進(jìn)行注釋。#一般由于描述性的注釋?zhuān)荚谡f(shuō)明代碼的作用或怎么使用。

    而;通常用于示例性的注釋?zhuān)貏e是在一些配置文件中常常會(huì)用到,因此我們沿用這兩種方式來(lái)對(duì)我們的腳本進(jìn)行注釋。

    引用符號(hào)使用規(guī)范

   

    盡量少用單引號(hào)

    對(duì)極個(gè)特殊字符進(jìn)行屏蔽特殊含義時(shí),使用\(反斜線)進(jìn)行屏蔽

    使用帶引號(hào)進(jìn)行屏蔽字符時(shí),單引號(hào)內(nèi)一般不適用其他引用符號(hào),除非是打印特殊符號(hào)本身。

    使用反引號(hào)進(jìn)行執(zhí)行一個(gè)shell命令時(shí),反引號(hào)內(nèi)一般加其他引用符號(hào)。

    腳本函數(shù)定義規(guī)范

   

    變量名可以由數(shù)字和字母組成

    使用駝峰命名法(從第二個(gè)單詞開(kāi)始,每個(gè)單詞首字母大寫(xiě))

    名字盡量不使用縮寫(xiě),除非它是眾所周知的

    名字可以有兩個(gè)或三個(gè)單詞組成,但通常不應(yīng)多于三個(gè)

    文本輸出排版

   

    第一天課后作業(yè)

    1、grep "20081011" text.txt                            取出這一天的數(shù)據(jù)

    2、grep "200804" text.txt                            取出這一個(gè)月的數(shù)據(jù)

    3、grep "200806" text.txt | grep -v "-"                    取出一個(gè)月的上漲數(shù)據(jù)

    4、grep "200807" text.txt | grep -v "-" | wc -l            列出有幾天是上漲個(gè)數(shù),帶統(tǒng)計(jì)

    5、grep "200808" text.txt | sort -k5 -n | tail -1            判斷上漲,然后tail取最后一行

    grep "200808" text.txt | sort -k5 -r |head -1            判斷上漲,然后head取第一行

    6、grep "200810" text.txt | awk ‘{if($4>0){print $1,$5}}‘    取出一月中上漲數(shù)據(jù)時(shí)間和上漲幅

    7、grep "200811" text.txt | awk ‘{if($4>5 && $4<20){print $0}}‘        判斷區(qū)間取出整行

    腳本代碼實(shí)例分析1

    編寫(xiě)一個(gè)shell腳本,執(zhí)行腳本后自動(dòng)ping以下地址:

    192.168.1.1,192.168.1.31

    以上IP地址直接寫(xiě)在腳本之中,

電腦資料

linux Shell學(xué)習(xí)筆記最后一節(jié),溫故與知新》(http://www.ishadingyu.com)。執(zhí)行完成后,

    應(yīng)顯示能夠ping通的IP地址和不能夠ping通的IP地址

    #!/bin/bash

    if ping 192.168.1.1 -c 1

    then

    echo "192.168.1.1 online"

    else

    echo "192.168.1.1 offline"

    fi

    if ping 192.168.1.31 -c 1

    then

    echo "192.168.1.31 online"

    else

    echo "192.168.1.31 offline"

    fi

    腳本代碼實(shí)例分析2

    修改分析1,但是從iplist.txt中讀取IP

    #!/bin/bash

    for ip in `cat iplist.txt`

    do

    if ping $ip -c 1

    then

    echo "${ip} online"

    else

    echo "${ip} offline"

    fi

    done

    腳本代碼實(shí)例分析3

    修改分析2,去除無(wú)用的信息

    #!/bin/bash

    for ip in `cat iplist.txt`

    do

    if ping $ip -c 1 >/dev/null 2>&1

    then

    echo "${ip} online"

    else

    echo "${ip} offline"

    fi

    done

    腳本代碼實(shí)例分析4

    修改分析3,生成記錄

    #!/bin/bash

    >hoststatus.txt

    for ip in `cat iplist.txt`

    do

    if ping $ip -c 1 >/dev/null 2>&1

    then

    echo "${ip} online" |tee -a hoststatus.txt

    else

    echo "${ip} offline" |tee -a hoststatus.txt

    fi

    done

    腳本代碼實(shí)例分析5

    產(chǎn)生一個(gè)IP地址池,生成255個(gè)IP,并修改分析4,實(shí)現(xiàn)多線程ping

    #!/bin/bash

    >iplist

    for ip in `seq 1 255`

    do

    echo "192.168.1.${ip}" >>iplist

    done

    #!/bin/bash

    >hoststatus.txt

    >temp

    fastping()

    {

    if ping ${1} -c 1 >/dev/null 2>&1

    then

    echo "${ip} online" |tee -a temp

    else

    echo "${ip} offline" |tee -a temp

    fi

    }

    for ip in `cat iplist.txt`

    do

    fastping $ip &

    done

    wait

    sort -t. -k4 -n temp >hoststatus.txt

    rm temp

    temp ./ping.sh            測(cè)試一個(gè)腳本執(zhí)行多久

最新文章