首先說到變量,我們就會(huì)和它相對的常量相比較纹因。如果你在寫一個(gè)shell腳本,你使用的是一個(gè)常量的話琳拨,那你基本上就把腳本寫死了瞭恰,用了一次就不能再用。但是如果你使用的是變量狱庇,那么你的腳本的靈活度和可用性就會(huì)大大加強(qiáng)惊畏。所以如何寫好腳本,首先是要理解變量和學(xué)會(huì)如何使用變量密任。
Linux中的變量是指以固定名稱存放颜启,可能會(huì)變化的值,它提高了腳本對任務(wù)需求浪讳,可能會(huì)變化的值缰盏,方便在腳本中重復(fù)使用。
使用類型1. 環(huán)境變量 ?2.位置變量 ?3.預(yù)定義變量 ?4.自定義變量
1. 環(huán)境變量
變量名通常都大寫淹遵,由系統(tǒng)維護(hù)口猜,用來設(shè)置工作環(huán)境。
配置文件
-/etc/profile , ~/.bash_profile
相關(guān)操作
-env:列出所有環(huán)境變量透揣。
-常見的環(huán)境變量
-PWD PATH USER LOGNAME UID SHELL HOME PS1 PS2
-HISTSIZE HOSTNAME LANGUGE MAIL
2. 預(yù)定義變量
作用:用來保存腳本程序的執(zhí)行信息
特點(diǎn):直接使用這些變量济炎,不能直接為這些變量賦值。
$O當(dāng)前所在的進(jìn)程或腳本名
$$ ?當(dāng)前運(yùn)行進(jìn)程的PID號(hào)
$? ?命令執(zhí)行后的返回狀態(tài)辐真,0表示正常须尚,非零表示異常
$# ?已加載的位置變量的個(gè)數(shù)
$* ?所有位置變量的值
$! ??后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程的PID號(hào)
3. 位置變量
定義:bash內(nèi)置,存儲(chǔ)執(zhí)行腳本時(shí)提供的參數(shù)侍咱。
$1 $2 ... $10
$n n為序號(hào)
4. ?自定義變量
定義:由用戶自主設(shè)置耐床,修改及使用
變量賦值
#X=12
#var1=CentOS
查看變量
echo $X, $var1
取消變量
unset X
另外一方面,非常重要的一方面是函數(shù)的運(yùn)用放坏。說先說一下什么是函數(shù)咙咽。在shell(也包括其他語言)環(huán)境中,將一些需要重復(fù)使用的操作淤年,為公共的語句快,即可稱為函數(shù)蜡豹。
函數(shù)的作用:
一麸粮,使腳本代碼更簡潔,增強(qiáng)易讀性镜廉。
二弄诲,使shell腳本的執(zhí)行效率提高。
服務(wù)腳本中的函數(shù)應(yīng)用
1.適用于比較復(fù)雜的啟用/終止控制操作
2.方便在需要時(shí)多次調(diào)用
如何定義一個(gè)函數(shù):
function ?函數(shù)名 {
命令序列
... ...
}
OR
函數(shù)名(){
命令序列
... ...
}
調(diào)用已定義的函數(shù)
格式:函數(shù)名
先定義了才能調(diào)用,就好比腳本的“內(nèi)部命令”齐遵。
格式:函數(shù)名值1 | 值2 ?... ...