新聞中心
1. 局部變量局部變量指的是只能在當(dāng)前Shell腳本內(nèi)被訪問(wèn)到的變量。2. 環(huán)境變量環(huán)境變量是可以被當(dāng)前Shell腳本及其子進(jìn)程訪問(wèn)到的變量。
- 本文目錄導(dǎo)讀:
- 1、 局部變量
- 2、 環(huán)境變量
- 3、 預(yù)定義變量
- 4、 變量替換
- 5、 數(shù)組

創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),扎囊網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:扎囊等地區(qū)。扎囊做網(wǎng)站價(jià)格咨詢(xún):13518219792
作為一名前端工程師,如果你想要在工作中更加高效地進(jìn)行開(kāi)發(fā)和部署,那么了解Linux操作系統(tǒng)是必不可少的。而在Linux中最基本的命令行操作就是使用Shell腳本來(lái)完成各種任務(wù),在這其中變量也扮演著非常重要的角色。
所謂變量,就是將一個(gè)值或者字符串賦給一個(gè)名稱(chēng),并且可以通過(guò)該名稱(chēng)來(lái)訪問(wèn)這個(gè)值或者字符串。在Shell腳本中,我們可以定義兩種類(lèi)型的變量:局部變量和環(huán)境變量。
1. 局部變量
局部變量指的是只能在當(dāng)前Shell腳本內(nèi)被訪問(wèn)到的變量。它們通常用于存儲(chǔ)臨時(shí)性數(shù)據(jù)以及函數(shù)參數(shù)等信息。我們可以使用以下語(yǔ)法來(lái)定義一個(gè)局部變量:
```
variable_name=value
例如:
name="John"
echo $name
上述代碼將會(huì)輸出"John"。
當(dāng)然,在實(shí)際編寫(xiě)腳本時(shí)我們還需要注意以下幾點(diǎn):
- 變量名字母大小寫(xiě)敏感;
- 變量賦值號(hào)兩邊不能有空格;
- 如果對(duì)包含空格字符、特殊字符(如$,*)等內(nèi)容進(jìn)行賦值,則應(yīng)該使用引號(hào)括起來(lái);
2. 環(huán)境變量
環(huán)境變量是可以被當(dāng)前Shell腳本及其子進(jìn)程訪問(wèn)到的變量。它們通常用于存儲(chǔ)全局性數(shù)據(jù),比如系統(tǒng)路徑、用戶信息等。在Linux中,我們可以通過(guò)export命令來(lái)將一個(gè)局部變量轉(zhuǎn)換為環(huán)境變量。
export name
3. 預(yù)定義變量
除了自己定義的局部和環(huán)境變量外,在Shell腳本中還有一些預(yù)定義的特殊字符或者字符串,它們用于表示當(dāng)前執(zhí)行狀態(tài)、運(yùn)行時(shí)所需參數(shù)等信息。下面列舉幾個(gè)常見(jiàn)的預(yù)定義變量:
- `$0`:表示當(dāng)前腳本文件名;
- `$1-$9`:表示第1~9個(gè)位置參數(shù)(即傳入腳本時(shí)帶上的參數(shù));
- `$#`:表示所有位置參數(shù)總數(shù);
- `$*`或者`${array[*]}`:以單個(gè)字符串形式返回所有位置參數(shù),并且每個(gè)值之間使用空格分隔開(kāi);
- `$$`:表示當(dāng)前Shell進(jìn)程ID號(hào);
4. 變量替換
在編寫(xiě)Shell腳本過(guò)程中,有時(shí)候我們需要對(duì)某些字符串進(jìn)行操作和處理。這就需要用到一些類(lèi)似正則表達(dá)式的語(yǔ)法來(lái)實(shí)現(xiàn)替換操作了。下面列舉幾種常見(jiàn)的變量替換方式:
- `${variable#pattern}`:從變量開(kāi)頭刪除匹配到的最短字符串;
- `${variable##pattern}`:從變量開(kāi)頭刪除匹配到的最長(zhǎng)字符串;
- `${variable%pattern}`:從變量結(jié)尾刪除匹配到的最短字符串;
- `${variable%%pattern}`:從變量結(jié)尾刪除匹配到的最長(zhǎng)字符串;
str="hello world"
echo ${str#*l}
上述代碼將會(huì)輸出"lo world",因?yàn)樗业搅说谝粋€(gè)字母l,并且把這個(gè)字符及之前所有字符全部刪掉了。
5. 數(shù)組
在Shell腳本中,我們還可以使用數(shù)組來(lái)存儲(chǔ)一系列值。數(shù)組是由多個(gè)元素組成的有序集合,在訪問(wèn)時(shí)需要指定對(duì)應(yīng)元素所處位置(索引)。下面是一些基本操作:
定義數(shù)組:
array_name=(value1 value2 ... valuen)
獲取數(shù)組中某個(gè)元素:
${array_name[index]}
獲取整個(gè)數(shù)組:
${array_name[*]}或者${array_name[@]}
```
my_array=(apple banana orange)
echo ${my_array[0]}
echo ${my_array[*]}
上述代碼將會(huì)輸出"apple"和"apple banana orange"。
綜上所述,Shell腳本中使用各種類(lèi)型和方式定義、操作和處理變量非常重要。只有深入了解這些知識(shí)點(diǎn),才能夠更加高效地完成各種任務(wù)。希望本文能夠?qū)Υ蠹矣兴鶈l(fā)和幫助。
網(wǎng)站名稱(chēng):前端運(yùn)維之Linux基礎(chǔ)--04Shell變量
轉(zhuǎn)載來(lái)源:http://fisionsoft.com.cn/article/dpgohcp.html


咨詢(xún)
建站咨詢(xún)
