国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux Shell學習筆記最后一節,溫故與知新

2020-01-31 16:13:21
字體:
來源:轉載
供稿:網友

腳本編寫技巧

腳本文件名命名規則

        文件名的字符包括

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

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

腳本版本管理:

        腳本作用.主版本號.修改次數.shell類型

變量命名規范

        變量名可以由數字和字母組成

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

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

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

腳本代碼注釋規范

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

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

引用符號使用規范

        盡量少用單引號

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

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

        使用反引號進行執行一個shell命令時,反引號內一般加其他引用符號。

腳本函數定義規范

        變量名可以由數字和字母組成

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

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

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

文本輸出排版

第一天課后作業

1、grep "20081011" text.txt                            取出這一天的數據

2、grep "200804" text.txt                            取出這一個月的數據

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

4、grep "200807" text.txt | grep -v "-" | wc -l            列出有幾天是上漲個數,帶統計

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}}'    取出一月中上漲數據時間和上漲幅

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

 

腳本代碼實例分析1

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

        192.168.1.1,192.168.1.31

    以上IP地址直接寫在腳本之中。執行完成后,

應顯示能夠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

 

腳本代碼實例分析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

 

腳本代碼實例分析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

 

 

腳本代碼實例分析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

 

腳本代碼實例分析5

產生一個IP地址池,生成255個IP,并修改分析4,實現多線程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            測試一個腳本執行多久

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪市| 黎平县| 驻马店市| 西平县| 定州市| 福海县| 中超| 朝阳县| 从化市| 温州市| 新泰市| 嘉荫县| 汾阳市| 天镇县| 蛟河市| 延庆县| 滦平县| 城市| 左贡县| 长汀县| 赣州市| 石嘴山市| 信阳市| 若尔盖县| 巴里| 略阳县| 石柱| 茌平县| 永修县| 玉屏| 策勒县| 阿荣旗| 永寿县| 安阳市| 连南| 海安县| 全椒县| 澎湖县| 平遥县| 景东| 射洪县|