01 前言
shell的基礎語法學習告了一段路,現在開始實際操作練習,今天記錄的是shell指令碼的經典題目
監控主機或ip的狀態,並給出提示,如以下背景:
編寫指令碼判斷以下4個主機的狀態
181.137.128.1
182.137.128.2
181.137.128.8
181.137.128.10
02 指令碼實現過程
(一)版本一
這裡需要總結幾個知識點:
1、ping 命令:
ping -c 1:-c代表制定ping的次數,ping -c 1 意思是ping1次
此外常用的幾個引數這裡也一併了解一下:
-i : 設定間隔幾秒傳送乙個ping包,預設一秒ping一次
-w: 以毫秒為單位設定ping的超時時間
-w deadline: deadline(最後期限)
來看看以下例子
ping -c 2 -i 0.3 181.137.128.32
以 0.3s 的間隔 ping 181.137.128.132 總共ping2次
2、break 跳出迴圈
break命令:break命令允許跳出所有迴圈(終止執行後面的所有迴圈)。
continue命令:與break相似,但是不同的地方是,它不會跳出所有迴圈,僅僅跳出當前迴圈
3、陣列取元素
使用@ 或 * 可以獲取陣列中的所有元素
如以下例子:
#!/bin/bash
# author:菜鳥教程
# url:www.runoob.com
my_array[0]=a
my_array[1]=b
my_array[2]=c
my_array[3]=d
echo "陣列的元素為: $"
echo "陣列的元素為: $"
陣列的元素為:a b c d
陣列的元素為:a b c d
獲取陣列長度的方法/ 獲取字串長度的方法相同
echo "陣列元素個數為: $"
echo "陣列元素個數為: $"
陣列元素個數為: 4
陣列元素個數為: 4
(二)版本二
(三)版本三
03 事後總結
多嘗試,多練習,實踐出真知
使用shell指令碼監控Linux主機
root localhost cat sysmon.sh bin bash dug df h g rep df h grep df h grep awk awk f at position 2 1 cug expr 100 mpstat tail 1 awk awk f.at position 2 ...
使用 shell 指令碼監控 Linux 主機
編寫以下指令碼命令 root localhost sh vim sysmon.sh bin bash 提取效能監控指標 磁碟占用 cpu使用 記憶體使用 dug df h grep awk awk f cug expr 100 mpstat tail 1 awk awk f.mug expr fre...
使用 shell 指令碼監控 Linux 主機
編寫以下指令碼命令 root localhost sh vim sysmon.sh bin bash 提取效能監控指標 磁碟占用 cpu使用 記憶體使用 dug df h grep awk awk f cug expr 100 mpstat tail 1 awk awk f.mug expr fre...