從未寫過指令碼我的最近接了倆指令碼的需求,就在這分享一下我的我學到基礎知識主要就四部分內容
字串'string="
字串"num=808
string=str
字串可以用單引號和雙引號包裹,也可不包裹。數字話不用引號包裹的話就是乙個數值。
變數也可以用來接受語句給變數賦值
file=`ls -l filepath/txt.txt`上面的語句是接收filepath 下的txt.txt文件
陣列的定義
程式中常用的還有陣列在 shell 中,用括號( )
來表示陣列,陣列元素之間用空格來分隔。由此,定義陣列的一般形式為:
arrayname=(ele1 ele2 ele3 ... elen)陣列的賦值方法有兩種#定義方法
my_array=(a b "
c" d)
一種是,對下標進行賦值、一種是對指定的元素賦值區別如下
#下標賦值注意:變數宣告賦值時=與值之間不允許有空格變數使用使用乙個定義過的變數,只要在變數名前面加美元符號arrayname[0]=value0
arrayname[1]=value1
arrayname[
2]=value2
#特定元素賦值
ages=([3]=24 [5]=19 [10]=12)
$
即可,如:
author="變數名外面的花括號嚴長生"
echo
$author
echo $
是可選的,加不加都行,加花括號是為了幫助直譯器識別變數的邊界。我個人建議是所有變數的使用是都加的{}
陣列的使用
①陣列的獲取
myarray=(a b "c"d)echo
"第乙個元素為: $
"echo
"第二個元素為: $
執行結果如上
②獲取陣列中所有元素和長度
myarray=(a b c d)echo
"陣列元素個數為: $
"echo
"陣列元素個數為: $
"echo "陣列的元素為: $"
echo "陣列的元素為: $"
③ 陣列的遍歷
1、for迴圈
12、for … infor(( i=0;i
2#$獲取陣列長度用於迴圈
3echo$;4
done;
#遍歷(帶陣列下標):3、while迴圈法for i in"$
";
doprintf
"%s\t%s\n""
$i""$
"done
#遍歷(不帶陣列下標):
for element in
$#也可以寫成for element
in $
doecho
$element
done
1 i=0到這裡你還記得我們的最初是想幹啥的嗎?監控長連線埠狀態。2while [ $i -lt $ ]
3#當變數(下標)小於陣列長度時進入迴圈體4do
5echo
$ 6
#按下標列印陣列元素
7 let i++
8done
檢視埠狀態的命令 【更多解釋檢視菜鳥教程】
1 netstat [-accefghilmnnoprstuvvwx][-a《網路型別》][--ip]知道如何獲取埠狀態我們就要用shell 來實現了。
命令用 `來包裹就是鍵盤上tab鍵上面那個鍵。我們來試試看
這樣我們就能拿到想要的埠資訊了。
條件測試的表示式:
[ expression ] 括號兩端必須要有空格
[[ expression ]] 括號兩端必須要有空格
組合測試條件:
-a: and
-o: or
判斷比較一般在if中使用,if的使用如下
1我們可以判斷大約有以下幾幾類if 判斷條件;then
2#執行內容
3fi
1、整數比較:
-eq 判斷兩個整數是否相等
-ne 判斷兩個整數是否不等
-gt 判斷乙個數是否大於另乙個數
-lt 判斷乙個數是否小於另乙個數
-ge 大於或等於
-le 小於或等於
2、字串比較
== 等於 兩邊要有空格
!= 不等
> 大於
3、檔案判斷
-z string 判斷指定字元是否為空,空著真,非空為假
-n string 判斷指定字串是否為不空,空為假 非空為真
-e file 判斷檔案是否存在
-f file 判斷檔案是否為普通檔案
-d file 判斷指定路徑是否為目錄
-r file 判斷檔案對當前使用者是否可讀
-w file 判斷檔案對當前使用者是否可寫
-x file 判斷檔案對當前使用者是都可執行
-z 是否為空 為空則為真
-a 是否不空
我的實現思路如下
1、遍歷獲取所有要查詢的埠號(我們的埠號在配置檔案中)
2、在遍歷中遍歷查詢配置檔案中的埠狀態為eastblishen是否存在
3、如果不存在的就說明這個埠異常,我這樣判斷原因因為可能起這個埠的服務掛了,我們查不到任何狀態更別說判斷了。我們只能取正常的了。
4、判斷異常傳送告警給運維
5、我並沒對把所有的結果彙總到一起進行傳送,因為埠和配置檔案有點多,等結果會很慢而且可能把我自己查死了。所以變異異常直接就發了
參考:參考:
伺服器基礎知識
1.isp internet service provider 網際網路服務提供商,即向廣大使用者綜合提供網際網路接入業務 資訊業務 和增值業務的電信運營商。isp是經國家主管部門批准的正式運營企業,享受國家法律保護。網路內容服務商 英文為 internet content provider 簡寫為...
伺服器基礎知識
一 伺服器端需要搭建web 伺服器 1.web伺服器是乙個軟體 2.做什麼 處理客戶端請求,解析報頭等 3.因為大部分請求都是http 請求,所以 伺服器 web伺服器 4.web伺服器是一種服務,有兩個做得比較好的伺服器 apache 公司的apache 和微軟公司的 iis二 應用伺服器 1.應...
伺服器基礎知識
定義 從廣義上講,伺服器是指網路中能對其它機器提供某些服務的計算機系統 如果乙個pc對外提供ftp服務,也可以叫伺服器 從狹義上講,伺服器是專指某些高效能計算機,能通過網路,對外提供服務。相對於普通pc來說,在穩定性 安全性 效能等方面都要求更高,因此cpu 晶元組 記憶體 磁碟系統 網路等硬體和普...