溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)Linux Shell腳本變量和環(huán)境變量

發(fā)布時(shí)間:2021-09-28 11:21:45 來(lái)源:億速云 閱讀:169 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“如何實(shí)現(xiàn)Linux Shell腳本變量和環(huán)境變量”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何實(shí)現(xiàn)Linux Shell腳本變量和環(huán)境變量”吧!

一、玩轉(zhuǎn)變量和環(huán)境變量

變量是任何一種編程語(yǔ)言都必不可少的組成部分,用于存放各種類(lèi)型的變量。腳本語(yǔ)言大多是弱類(lèi)型語(yǔ)言(動(dòng)態(tài)語(yǔ)言),也就是說(shuō)在使用變量時(shí),不需要事先聲明變量的類(lèi)型,只需要直接賦值就可以。在Bash中,每一個(gè)變量的值都是字符串。無(wú)論你給變量賦值時(shí)有沒(méi)有使用引號(hào),值都會(huì)以字符串的形式存儲(chǔ)。有一些特殊的變量會(huì)被shell環(huán)境和操作系統(tǒng)保留,用來(lái)存儲(chǔ)一些特別的值,這類(lèi)變量就稱(chēng)為環(huán)境變量,相信大家對(duì)環(huán)境變量也并不陌生,因?yàn)榧词乖趙indows操作系統(tǒng)上,也存在環(huán)境變量。

二、普通變量

普通變量可以通過(guò)下列的方式進(jìn)行賦值,并打印輸出:

代碼如下:

#var=value          #等式左邊是變量,右邊是將要賦給變量的值
var="value"         #聲明一個(gè)變量var,并將其賦值為“value”
echo $var           #使用echo輸出變量的值
echo ${var}         #作用同上一行

**注意:**var=value 不同于 var = value,前者是一個(gè)賦值表達(dá)式,而后者則是一個(gè)邏輯表達(dá)式,用來(lái)判斷等式兩端值是否相同。在賦值表達(dá)式中,如果value中沒(méi)有空白符,那么就不必使用引號(hào)進(jìn)行引用,否則必須使用單引號(hào)或者雙引號(hào)進(jìn)行變量引用。例如:

代碼如下:

var1="value"            #不含空白符
echo $var1              #輸出“value”
var2="value 2"          #含空白格,使用引號(hào)
echo $var2              #輸出“value”
var3=value 2            #含空白符,不使用引號(hào)
echo var3               #在ubuntu14.04中,返回command not found

獲取字符串的長(zhǎng)度

字符串的長(zhǎng)度是字符串極為重要的一個(gè)特征,在shell中可以使用如下方法獲取字符串的長(zhǎng)度:

代碼如下:

var="value"
length=${#var}
echo $length            #此處將輸出7

三、環(huán)境變量

變量采用常見(jiàn)的命名方式進(jìn)行命名。當(dāng)程序啟動(dòng)時(shí),他接受一族環(huán)靜變量,可以使用env(eviroment)命令查看所有與終端相關(guān)的環(huán)境變量。對(duì)于進(jìn)程來(lái)說(shuō),其運(yùn)行時(shí)的環(huán)境變量可以用下面的命令來(lái)查看:

代碼如下:

cat /proc/$PID/environ      #PID總是一個(gè)整數(shù)
pgrep firefox               #我剛才的結(jié)果返回3013
cat /proc/3013/environ      #返回了一堆,不列出

HTTP_PROXY環(huán)境變量

環(huán)境變量通常不需要在當(dāng)前進(jìn)程中進(jìn)行定義,而是從父進(jìn)程中繼承而來(lái)的。HTTP_PROXY環(huán)境變量,它定義了互聯(lián)網(wǎng)應(yīng)該使用哪個(gè)代理服務(wù)器。該環(huán)境變量可以通過(guò)下列方法進(jìn)行設(shè)置:

代碼如下:

HTTP_PROXY=192.168.1.23:3128
export HTTP_PROXY            #使用export來(lái)設(shè)置環(huán)境變量

PATH環(huán)境變量

在默認(rèn)情況下,有很多標(biāo)準(zhǔn)環(huán)境變量可供shell使用,PATH便是其中之一。

代碼如下:

echo $PATH
ecport PATH="$PATH;/home/user/bin" #在PATH中添加一條新路徑


SHELL環(huán)境變量
使用SHELL環(huán)境變量可以識(shí)別當(dāng)前所使用的shell版本,方法如下:

代碼如下:

echo $SHELL          #輸出shell的版本
echo $0              #作用同上

UID環(huán)境變量

UID是一個(gè)重要的環(huán)境變量,可以用于檢查當(dāng)前腳本是以超級(jí)用戶還是以普通用戶的身份運(yùn)行的。root用戶的UID是0。

感謝各位的閱讀,以上就是“如何實(shí)現(xiàn)Linux Shell腳本變量和環(huán)境變量”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何實(shí)現(xiàn)Linux Shell腳本變量和環(huán)境變量這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI