亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

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

電腦資料 時間:2019-01-01 我要投稿
【m.msguai.com - 電腦資料】

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

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

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

。

    腳本編寫技巧

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

   

    文件名的字符包括

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

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

    腳本版本管理

    腳本作用.主版本號.修改次數(shù).shell類型

    變量命名規(guī)范

   

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

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

    變量名稱盡量使用縮寫,最好不要超過6個字符

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

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

   

    腳本代碼注釋可以使用"#"和";(分號)"兩種方式進(jìn)行注釋。#一般由于描述性的注釋,旨在說明代碼的作用或怎么使用。

    而;通常用于示例性的注釋,特別是在一些配置文件中常常會用到,因此我們沿用這兩種方式來對我們的腳本進(jìn)行注釋。

    引用符號使用規(guī)范

   

    盡量少用單引號

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

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

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

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

   

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

    使用駝峰命名法(從第二個單詞開始,每個單詞首字母大寫)

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

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

    文本輸出排版

   

    第一天課后作業(yè)

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

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

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

    4、grep "200807" text.txt | grep -v "-" | wc -l            列出有幾天是上漲個數(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ù)時間和上漲幅

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

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

    編寫一個shell腳本,執(zhí)行腳本后自動ping以下地址:

    192.168.1.1,192.168.1.31

    以上IP地址直接寫在腳本之中,

電腦資料

linux Shell學(xué)習(xí)筆記最后一節(jié),溫故與知新》(http://m.msguai.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,去除無用的信息

    #!/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)生一個IP地址池,生成255個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            測試一個腳本執(zhí)行多久

最新文章