溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Linux Shell腳本變量和環境變量

發布時間:2021-09-28 11:21:45 來源:億速云 閱讀:185 作者:iii 欄目:開發技術

這篇文章主要講解了“如何實現Linux Shell腳本變量和環境變量”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何實現Linux Shell腳本變量和環境變量”吧!

一、玩轉變量和環境變量

變量是任何一種編程語言都必不可少的組成部分,用于存放各種類型的變量。腳本語言大多是弱類型語言(動態語言),也就是說在使用變量時,不需要事先聲明變量的類型,只需要直接賦值就可以。在Bash中,每一個變量的值都是字符串。無論你給變量賦值時有沒有使用引號,值都會以字符串的形式存儲。有一些特殊的變量會被shell環境和操作系統保留,用來存儲一些特別的值,這類變量就稱為環境變量,相信大家對環境變量也并不陌生,因為即使在windows操作系統上,也存在環境變量。

二、普通變量

普通變量可以通過下列的方式進行賦值,并打印輸出:

代碼如下:

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

**注意:**var=value 不同于 var = value,前者是一個賦值表達式,而后者則是一個邏輯表達式,用來判斷等式兩端值是否相同。在賦值表達式中,如果value中沒有空白符,那么就不必使用引號進行引用,否則必須使用單引號或者雙引號進行變量引用。例如:

代碼如下:

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

獲取字符串的長度

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

代碼如下:

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

三、環境變量

變量采用常見的命名方式進行命名。當程序啟動時,他接受一族環靜變量,可以使用env(eviroment)命令查看所有與終端相關的環境變量。對于進程來說,其運行時的環境變量可以用下面的命令來查看:

代碼如下:

cat /proc/$PID/environ      #PID總是一個整數
pgrep firefox               #我剛才的結果返回3013
cat /proc/3013/environ      #返回了一堆,不列出

HTTP_PROXY環境變量

環境變量通常不需要在當前進程中進行定義,而是從父進程中繼承而來的。HTTP_PROXY環境變量,它定義了互聯網應該使用哪個代理服務器。該環境變量可以通過下列方法進行設置:

代碼如下:

HTTP_PROXY=192.168.1.23:3128
export HTTP_PROXY            #使用export來設置環境變量

PATH環境變量

在默認情況下,有很多標準環境變量可供shell使用,PATH便是其中之一。

代碼如下:

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


SHELL環境變量
使用SHELL環境變量可以識別當前所使用的shell版本,方法如下:

代碼如下:

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

UID環境變量

UID是一個重要的環境變量,可以用于檢查當前腳本是以超級用戶還是以普通用戶的身份運行的。root用戶的UID是0。

感謝各位的閱讀,以上就是“如何實現Linux Shell腳本變量和環境變量”的內容了,經過本文的學習后,相信大家對如何實現Linux Shell腳本變量和環境變量這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女