Linux運維面試中常被問到的兩個shell腳本

      網友投稿 993 2025-03-31

      腳本一:

      在公司里有一個網段是 192.168.3.0的網段,現在想判斷一下哪些主機在線,哪些主機不在線。

      shell腳本解決方案

      方法一:

      首先要循環(huán)目標主機的IP地址,IP地址分為兩部分:

      str=192.168.3.

      num=1-255的自然數,所以num需要先遍歷,然后與str拼接

      IP=${str}${num}

      1

      #!/bin/bash #定義變量str str="192.168.31." # for循環(huán)遍歷num #num是1-255的自然數,可以使用{1..255} for num in {1..255} do ip=${str}${num} if ping -c1 -w1 ${ip} &>/dev/null;then #如果可以ping通則提示 ip在線 echo "$ip is online." else # 如果ping不通,提示主機不在線 echo "$ip is offline" fi done

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      ping命令后面有兩個參數,一個是 -c,一個是-w

      -c count 指定要被發(fā)送(或接收)的回送信號請求的數目,由 Count 變量指出

      -w timeout 這個選項僅和 -c 選項一起才能起作用。它使 ping 命令以最長的超時時間去等待應答(發(fā)送最后一個信息包后)

      方法二:

      前面的和方法一一樣,到了ping命令之后,要判斷是否在線的時候,除了方法一,還可以判斷 echo $?

      如果 $?結果為0 ,則表示能ping通,也就是ip在線,否則為不在線。

      #!/bin/bash str="192.168.1." for num in {1..255} do ip=${str}${num} ping -c1 -w1 ${ip} &>/dev/null #在這里定義NUM為$? ,如果執(zhí)行成功則$?=0,如果ping不通則不為零 NUM=$? if [ $NUM -eq 0 ];then echo "$ip is online." else echo "$ip is offline" fi done

      1

      2

      Linux運維面試中常被問到的兩個shell腳本

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      方法三

      表示1-255的方式,出了{1.。255} 之外,還可以用seq 1 254

      [root@laoxin-06 ~]# cat ping.sh #!/bin/bash str="192.168.31." # seq 1 254 for num in `seq 1 254` do ip=${str}${num} ping -c1 -w1 ${ip} &>/dev/null NUM=$? if [ $NUM -eq 0 ];then echo "$ip is online" else echo "$ip is offline" fi done

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      腳本二:

      我們去面試經常被問到磁盤使用率,我們可以寫一個腳本來判斷磁盤的使用率

      #!/bin/bash # 截取IP ## 截取IP有多種方法 IP=`ifconfig eth0 |awk -F " " 'NR==2{print $2}'` # 定義使用率,并轉換為數字 SPACE=`df -Ph |awk '{print int($5)}'` for i in $SPACE do #如果遍歷的數值大于90,我們就認為磁盤使用率超過了90%,然后告警 if [ $i -ge 90 ] then echo "$IP的磁盤使用率已經超過了90%,請及時處理" fi done

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      當然IP的截取方法有很多種,這里用了相對比較簡單的一種

      總結

      shell腳本其實沒有那么難,日常學習中,多多練習就好了。

      Linux Shell 運維

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何修改標題樣式?(wps如何修改標題樣式)
      下一篇:1.5小時!一鍵部署Oracle 11GR2 RAC 集群
      相關文章
      亚洲AV午夜成人影院老师机影院| 亚洲成?Ⅴ人在线观看无码| 国产成人精品久久亚洲| 亚洲AV无码片一区二区三区| 亚洲AV无码久久久久网站蜜桃| 亚洲精品在线网站| 亚洲尹人九九大色香蕉网站| 亚洲精品无码不卡| 久久亚洲精品无码AV红樱桃| 亚洲五月六月丁香激情| 亚洲综合一区二区国产精品| 久久精品蜜芽亚洲国产AV| 亚洲视频免费一区| 亚洲成年人电影在线观看| 亚洲国产精品综合久久2007| 久久精品国产亚洲αv忘忧草| 亚洲一区二区三区深夜天堂| 国产精品高清视亚洲一区二区| 国产精品亚洲一区二区麻豆| 亚洲av中文无码乱人伦在线观看| 亚洲av成人中文无码专区| 国产亚洲视频在线观看| 精品亚洲视频在线观看| 亚洲一区二区三区自拍公司| 国产成人精品日本亚洲网站| 亚洲va在线va天堂va888www| 亚洲黄色网址大全| ass亚洲**毛茸茸pics| 亚洲乱妇老熟女爽到高潮的片| 亚洲精品V天堂中文字幕| 国产亚洲蜜芽精品久久| 久久久青草青青国产亚洲免观| 亚洲乱码精品久久久久..| 亚洲国产精品自在线一区二区 | 亚洲高清视频免费| 麻豆狠色伊人亚洲综合网站| 亚洲精华国产精华精华液网站 | 亚洲欧洲精品久久| 亚洲а∨天堂久久精品9966| 最新亚洲人成无码网站| 国产aⅴ无码专区亚洲av麻豆|