一噩凹,變量
變量就是計(jì)算機(jī)中用于記錄一個(gè)值(不一定是數(shù)值朦促,也可以是字符或字符串)的符號(hào),而這些符號(hào)將用于不同的運(yùn)算處理中栓始。變量與值是一對(duì)一的關(guān)系。大部分編程語(yǔ)言會(huì)區(qū)分不同類(lèi)型的變量血当,shell也是如此幻赚。
創(chuàng)建變量:declare
賦值符號(hào):=
讀取變量:echo $
二禀忆,環(huán)境變量
1,三種變量類(lèi)型
-當(dāng)前 Shell 進(jìn)程私有用戶(hù)自定義變量落恼,如上面我們創(chuàng)建的 tmp 變量,只在當(dāng)前 Shell 中有效佳谦。
-Shell 本身內(nèi)建的變量戴涝。
-從自定義變量導(dǎo)出的環(huán)境變量。
2钻蔑,與三種變量類(lèi)型相關(guān)的命令
set:顯示當(dāng)前 Shell 所有變量啥刻,包括其內(nèi)建環(huán)境變量(與 Shell 外觀等相關(guān)),用戶(hù)自定義變量及導(dǎo)出的環(huán)境變量咪笑。
env:顯示與當(dāng)前用戶(hù)相關(guān)的環(huán)境變量可帽,還可以讓命令在指定環(huán)境中運(yùn)行。
export:顯示從 Shell 中導(dǎo)出成環(huán)境變量的變量窗怒,也能通過(guò)它將自定義變量導(dǎo)出為環(huán)境變量
3映跟,按照生存周期來(lái)分
永久的:需要修改配置文件,變量永久生效扬虚;
臨時(shí)的:使用 export 命令行聲明即可努隙,變量在關(guān)閉 shell 時(shí)失效。
4辜昵,變量的修改方式
${變量名#匹配字串}
從頭向后開(kāi)始匹配荸镊,刪除符合匹配字串的最短數(shù)據(jù)
${變量名##匹配字串}
從頭向后開(kāi)始匹配,刪除符合匹配字串的最長(zhǎng)數(shù)據(jù)
${變量名%匹配字串}
從尾向前開(kāi)始匹配路鹰,刪除符合匹配字串的最短數(shù)據(jù)
${變量名%%匹配字串}
從尾向前開(kāi)始匹配贷洲,刪除符合匹配字串的最長(zhǎng)數(shù)據(jù)
${變量名/舊的字串/新的字串}
將符合舊字串的第一個(gè)字串替換為新的字串
${變量名//舊的字串/新的字串}
將符合舊字串的全部字串替換為新的字串