bash變量類型:
環(huán)境變量闽寡,本地變量,位置變量尼酿,特殊變量爷狈。
本地變量:
bash:?
VARNAME=value :整個(gè)bash進(jìn)程
local varname=value: 只對當(dāng)前代碼段有效
打開個(gè)一個(gè)子shell, echo$NAME為父shell,所以為空
引用變量:?
$(value),括號可省略谓媒。
那么什么時(shí)候加什么時(shí)候不加呢淆院,看下面的例子:
并且單引號不做替換,它是強(qiáng)引用。
環(huán)境變量:
export? varname=value;
注意:任意腳本在執(zhí)行時(shí)會(huì)啟動(dòng)一個(gè)子shell進(jìn)程:命令行中啟動(dòng)腳本會(huì)繼承當(dāng)前shell環(huán)境變量土辩。
系統(tǒng)自動(dòng)啟動(dòng)的腳本就需要自我定義需要各環(huán)境變量支救。
環(huán)境變量只跟當(dāng)前shell和子shell有關(guān)系:
位置變量:
$1,$2,$3........引用腳本的參數(shù)的。
特殊變量:
$?:保存上一個(gè)命令執(zhí)行狀態(tài)返回值 拷淘。
程序執(zhí)行各墨,可能有2類返回值:
狀態(tài)碼:0:正確執(zhí)行,1--255:錯(cuò)誤執(zhí)行启涯,1 贬堵, 2, 127系統(tǒng)預(yù)留
? ?輸出重定向:
>:覆蓋
>>:追加
2>:錯(cuò)誤
2>>錯(cuò)誤追加
$>:同時(shí)
/dev/null :軟件設(shè)備 结洼,數(shù)據(jù)黑洞
撤銷變量:unset
查看當(dāng)前系統(tǒng)shell變量:set;
弱類型:不做運(yùn)算:
腳本的編寫:命令的堆砌黎做;
shebang:魔數(shù)