linux筆記九(shell 腳本)

        shell script 是利用 shell 的功能所寫的一個『程序 (program)』,這個程序是使用純文本文
件,將一些 shell 的語法與指令(含外部指令)寫在裏面, 搭配正規表示法、管線命令與數據流重
導向等功能,以達到我們所想要的處理目的。


利用test指令的測試功能



使用判斷符號 [ ] 
(中括號的使用方法與 test 幾乎一模一樣)但要注意:
在中括號 [] 內的每個組件都需要有空格鍵來分隔; 
在中括號內的變數,最好都以雙引號括號起來; 
在中括號內的常數,最好都以單或雙引號括號起來。


Shell script 的默認變數($0, $1...) 


shift:造成參數變量號碼偏移


條件判斷式
利用 if .... then
單層、簡單條件判斷式

多重、複雜條件判斷式

如果考慮更復雜的情況,則可以使用這個語法:




netstat的指令,這個指令可以查詢到目前主機有開啓的網絡服務端口 (service ports),
可以利用『 netstat -tuln 』來取得目前主機有啓動的服務。

利用 case ..... esac 判斷


利用 function 功能
function fname() { 
  程序段 

另外, function 也是擁有內建變量的~他的內建變量與 shell script 很類似, 函數名稱代表示 $0 ,
而後續接的髮量也是以 $1, $2... 來取代的。


循環
while do done, until do done (不定循環)



for...do...done (固定循環) 
for var in con1 con2 con3 ... 
do 
  程序段 
done 

for...do...done 的數值處理
for (( 開始值; 限制值; 執行步階 )) 
do 
  程序段 
done  


shell script 的追蹤與debug 
[root@www ~]# sh [-nvx] scripts.sh 
選項與參數: 
-n  :不要執行 script,僅查詢語法的問題; 
-v  :再執行 sccript 前,先將 scripts 的內容輸出到屏幕上; 
-x  :將使用到的 script 內容顯示到屏幕上,這是很有用的參數!
 
shell script 的執行,至少需要有r的權限,若需要直接指令下達,則需要擁有r與x的權限;










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章