一、什么是shell腳本
?????? shell腳本(shell script):指將各類(lèi)命令預(yù)先放入到一個(gè)文件中,方便一次性執(zhí)行的一個(gè)程序文件,腳本名以 .sh結(jié)尾(擴(kuò)展名sh代表shell)。
二、shell腳本的編寫(xiě)
????????1.? 第一行:# ! /bin/bash
??????????? ?1.1 ? 每一個(gè)shell腳本的第一行都是固定不變的,指定shell的編程解釋器。
???????????? 1.2?? #!:用來(lái)告訴系統(tǒng)它后面的參數(shù)是用來(lái)執(zhí)行該文件的程序。
??????? 2.? 定義變量:key=value(其中,=前后都不能有空格)
???????????? 2.1? 靜態(tài)變量
??????????????????? a='ruozedata.com'
???????????? 2.2? 動(dòng)態(tài)變量
????????????????????b=`date`
注:定義靜態(tài)變量時(shí)用單引號(hào),定義動(dòng)態(tài)變量時(shí)用Tab鍵上面的~鍵。
?????????? ?如圖所示:

????????3.? 簡(jiǎn)單的shell腳本實(shí)例
??????????????? ??? #!/bin/bash???????????????????? 第一行:指定該文件執(zhí)行的程序,一般默認(rèn)為bash
????????????????? ? a='ruozedata.com'?????????定義一個(gè)靜態(tài)變量
?????????????????? ?echo $a????????????????????????? 打印變量a的內(nèi)容
?????????????? ???? b=`date`????????????????????????? 定義一個(gè)動(dòng)態(tài)變量
??????????????? ??? echo $b?????????????????????????? 打印變量b的內(nèi)容
??????????????? ?? if [ '$a' = 'ruozedata.com' ]???? if判斷語(yǔ)句,括號(hào)內(nèi)必須要有空格[ 空格 xx=yy 空格]
??????????????? ???then
?????????????? ??? echo "網(wǎng)址是:"$a
??????????????? ???fi
??????? 4.? 執(zhí)行shell腳本
??????????? ??4.1?? shell腳本不能執(zhí)行時(shí),需要給shell腳本賦權(quán)限:chmod +x? test.sh
??????????????4.2?? 執(zhí)行一個(gè)文件名為test.sh的shell腳本:
???????????????????? ?常規(guī)模式: /xxx/xxx/test.sh???或者?? ./test.sh;
???????????????????? ?debug模式:(1) sh -x test.sh??? (用于開(kāi)發(fā)時(shí)調(diào)試)
???????????????????????????????????????? ??(2) 在shell腳本第一行加入?yún)?shù) -x: #!/bin/bash -x。