Linux 下第一個(gè)shell腳本

shell腳本可以高效的完成一件事情,和批處理一個(gè)意思。學(xué)習(xí)寫(xiě)第一個(gè)shell腳本。
今天開(kāi)始寫(xiě)一個(gè)判斷能否ping通ip的腳本
1.首先我們看看ping通與不同之間的區(qū)別
可以ping通的情況,如下圖所示:


不可以ping通的情況,如下圖所示:


通和不通區(qū)別的地方有很多,隨便找一個(gè)不同點(diǎn)就可以判斷其還是不同
2.這里我們就找上圖標(biāo)注得到地方作為區(qū)別,即如果是不通的情況下,received的數(shù)字一定為0,如果通,那received的數(shù)字就是非0.
想個(gè)辦法過(guò)濾出0這個(gè)字段

[root@localhost ~]# ping 192.168.50.1 -c 4 | grep received
圖片.png
[root@localhost ~]# ping 192.168.50.1 -c 4 | grep received | awk '{print $4}'
圖片.png

3.有上面辦法就可以寫(xiě)一個(gè)ping腳本了.
ping.sh

#!/bin/bash
IP=$1
pre=`ping $IP -c 4 | grep received | awk '{print $4}'`
if [ $pre == 0 ]
then
echo "ping".$IP."bu tong"
else
echo "ping".$IP."tong le"
fi
[root@localhost ~]# ll | grep ping.sh
圖片.png

可以看到我們寫(xiě)的ping.sh腳本還沒(méi)有可執(zhí)行權(quán)限。
4.給腳本文件可執(zhí)行權(quán)限

[root@localhost ~]# chmod +x ping.sh 
[root@localhost ~]# ll | grep ping.sh

5.測(cè)試

[root@localhost ~]# ./ping.sh 1.1.1.1
圖片.png
[root@localhost ~]# ./ping.sh 192.168.50.1
圖片.png

注:bash調(diào)試腳本

[root@localhost ~]# bash -x ping.sh 1.1.1.1
+ IP=1.1.1.1
++ grep received
++ awk '{print $4}'
++ ping 1.1.1.1 -c 4
+ pre=4
+ '[' 4 == 0 ']'
+ echo 'ping.1.1.1.1.tong le'
ping.1.1.1.1.tong le
[root@localhost ~]#

改進(jìn)程序:循環(huán)一個(gè)ip.txt

#!/bin/bash
if [ ! -s ip.txt ]
then
echo "ip.txt file is none"
else
ipnum=`sed -n '$=' ip.txt`
for ((i=1;i<="$ipnum";i++))
do
ip=`sed -n "$i"p ip.txt`
pre=`ping $ip -c 4 | grep received | awk '{print $4}'`
if [ $pre == 0 ]
then
echo "$ip down"
else
echo "$ip up"
fi
done
fi

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概念和原理 Shell是什么? Shell 是一個(gè)用 C 語(yǔ)言編寫(xiě)的程序,它是用戶使用 Linux 的橋梁。 Sh...
    陵無(wú)山閱讀 3,681評(píng)論 0 27
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,707評(píng)論 0 5
  • 什么是Shell ? ? 簡(jiǎn)單來(lái)說(shuō)Shell其實(shí)就是一個(gè)命令解釋器,而它的作用就是解釋并執(zhí)行用戶輸入的命令及程序。...
    Surpassme閱讀 2,832評(píng)論 1 24
  • 第 2 章 SHELL 基礎(chǔ)知識(shí)2.1 shell腳本我們?cè)谏厦婧?jiǎn)單介紹了一下什么是shell腳本,現(xiàn)在我們來(lái)進(jìn)一...
    LiWei_9e4b閱讀 1,642評(píng)論 0 0
  • 用了caffe有一段時(shí)間了,感覺(jué)自己寫(xiě)shell腳本的能力有待提高,特地從菜鳥(niǎo)筆記處系統(tǒng)的看了一遍,其實(shí)學(xué)習(xí)基礎(chǔ)就...
    yichen_china閱讀 1,878評(píng)論 2 30

友情鏈接更多精彩內(nèi)容