LINUX Shell指令碼程式設計例項詳解(一)上
LINUX Shell指令碼程式設計例項詳解(一)上
ping命令測試網段內主機的2例詳解
使用linux已經有10來年了但是一直止於各種伺服器的搭建和環境的調優,能力不能得到提升,今天突然下定決心學習Shell指令碼程式設計,因此以網上廣為流傳的《Shell指令碼100例》為基礎學習、實驗和筆記。
廢話不說上栗子。
使用vim shell100-scanip-1.sh命令建立指令碼檔案
#!/bin/bash
for i in {1..254}
do
ping -c2 -i0.3 -W1 192.168.18.$i &>/dev/null
if [ $? -eq 0 ];then
echo "192.168.18.$i is up"
else
echo "192.168.18.$i is down"
fi
done
解釋:
第一句 #!/bin/bash
在shell指令碼的開頭往往有一句話來定義使用哪種sh直譯器來解釋指令碼。
目前研傳送測的shell指令碼中主要有以下兩種方式:
(1) #!/bin/sh
(2) #!/bin/bash
止於使用sh還是bash來解釋的區別後邊抽時間專門寫一篇文章,這裡不在詳述
第二句 for i in {1..254}
do
......
done
是迴圈結構,for迴圈類似程式中的for迴圈,i為迴圈變數,迴圈變數值在in{}裡依次迴圈,迴圈體從do開始,done結束。
第三句ping -c2 -i0.3 -W1 192.168.18.$i &>/dev/null
ping命令引數
-c2:設定完成要求迴應的次數;這裡設定為2是考慮網路路由的問題導致第一次ping不能返回而第二次ping可以返回的情況(具體原因請自行閱讀網路原理)
-i0.3:指定收發資訊的間隔時間(秒計),這裡的時間是綜合考慮ping命令返回超時的時間和每次ping的時間,原則應為:返回超時<i引數<ping命令傳送間隔。
-W1:即超時時間(毫秒計),這裡表示超時時間為1毫秒,也就是說一毫秒後ping命令結束。
&>/dev/null :表示將標準輸出stdout和標準錯誤輸出stderr重定向到null的裝置中,也就是說不列印到螢幕上了,而且也不儲存檔案(放到名叫null的裝置中——無底洞永遠消失)。
第四句判斷語句
if [ $? -eq 0 ];then
......
else
......
fi
if判斷語句 [ ]中為判斷表示式,$?表示最後執行是否成功,成功為0 不成功為1
第五句、第六句
echo "192.168.18.$i is up"、echo "192.168.18.$i is down"表示回顯到螢幕上$i表示當前i變數的值
栗子1解釋完畢,待續
相關文章
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- Linux Shell指令碼程式設計while語句案例Linux指令碼程式設計While
- Shell 指令碼程式設計陷阱指令碼程式設計
- 史上最全shell指令碼程式設計語法上冊指令碼程式設計
- shell指令碼程式設計筆記指令碼程式設計筆記
- 7.shell指令碼程式設計指令碼程式設計
- Linux之19——Shell程式設計基礎詳解Linux程式設計
- 《bash shell指令碼程式設計經典例項(第2版)》資源連結清單指令碼程式設計
- 設計模式例項程式碼設計模式
- Linux命令列與shell指令碼程式設計入門經驗Linux命令列指令碼程式設計
- Linux_day06_01_Shell指令碼程式設計_Bash基礎Linux指令碼程式設計
- shell script程式設計小結——附帶例項程式設計
- Shell程式設計-01-Shell指令碼初步入門程式設計指令碼
- 程式碼上線的shell指令碼指令碼
- Bash Shell指令碼中的陣列使用例項指令碼陣列
- shell高效程式設計:shell指令碼從未如此美麗程式設計指令碼
- Linux Shell指令碼Linux指令碼
- 《Linux命令列與shell指令碼程式設計大全 第3版》Linux命令列---46Linux命令列指令碼程式設計
- Linux 利器- Python 指令碼程式設計入門(一)LinuxPython指令碼程式設計
- 詳解Python物件導向程式設計之類、例項、方法Python物件程式設計
- shell程式設計-sed命令詳解(超詳細)程式設計
- linux shell 指令碼語言教程(超詳細!)Linux指令碼
- 好程式設計師Linux雲端計算教程分享Shell指令碼面試題程式設計師Linux指令碼面試題
- Linux Shell 程式設計基礎詳解——吐血整理,牆裂推薦!Linux程式設計
- linux學習day3——shell指令碼上Linux指令碼
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- shell指令碼程式設計學習筆記-運算子指令碼程式設計筆記
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數
- shell指令碼程式設計之選擇控制結構指令碼程式設計
- Linux之shell程式設計Linux程式設計
- Linux Shell程式設計(1)Linux程式設計
- Linux Shell程式設計(2)Linux程式設計
- shell指令碼中/dev/null 2>&1詳解指令碼devNull
- 7 個日常實用的 Shell 拿來就用指令碼例項!指令碼
- PJzhang:鳥哥的linux私房菜-shell指令碼-上Linux指令碼
- MySQL 序列 AUTO_INCREMENT詳解及例項程式碼MySqlREM