局部變量:
? ? ? ? 局部變量在用戶(hù)當(dāng)前的shell生存期的腳本中使用
自定義局部變量
? ? ? ? ? ? 1 變量名=value??
? ? ? ? ? ? ? ? 直接定義變量?jī)?nèi)容,內(nèi)容一般是簡(jiǎn)單連續(xù)的數(shù)字,字符串
? ? ? ? ? ? 2 變量名=‘value’
? ? ? ? ? ? ? ? 輸出變量時(shí),引號(hào)里面是什么就輸出什么,比較適合純字符串
? ? ? ? ? ? 3 變量名=“value”
? ? ? ? ? ? ? ? 輸出變量時(shí),會(huì)先解析雙引號(hào)的內(nèi)容
? ? ? ? ? ? 4? 將命令作為變量
? ? ? ? ? ? ? ? 變量名=`ls`
腳本中局部變量定義(local關(guān)鍵字)
? ? ?????腳本中局部變量定義:存在于腳本函數(shù)function中的變量成為局部變量,要以local方式進(jìn)行聲明,使之只在本函數(shù)作用域內(nèi)有效,防止變量在函數(shù)中的命名與變量外部程序中變量重名造成程序異常? ?
????????Shell函數(shù)定義的變量默認(rèn)是global的,其作用域從“函數(shù)被調(diào)用時(shí)執(zhí)行變量定義的地方”開(kāi)始,到shell結(jié)束或被顯示刪除處為止。函數(shù)定義的變量可以被顯示定義成local的,其作用域局限于函數(shù)內(nèi)。但請(qǐng)注意,函數(shù)的參數(shù)是local的。
? ? ????如果同名,Shell函數(shù)定義的local變量會(huì)屏蔽腳本定義的global變量。
變量使用
? ? ????echo? $test
? ? ? ? echo ${test}