一、玩轉(zhuǎn)變量和環(huán)境變量
變量是任何一種編程語言都必不可少的組成部分,用于存放各種類型的變量。腳本語言大多是弱類型語言(動態(tài)語言),也就是說在使用變量時,不需要事先聲明變量的類型,只需要直接賦值就可以。在Bash中,每一個變量的值都是字符串。無論你給變量賦值時有沒有使用引號,值都會以字符串的形式存儲。有一些特殊的變量會被shell環(huán)境和操作系統(tǒng)保留,用來存儲一些特別的值,這類變量就稱為環(huán)境變量,相信大家對環(huán)境變量也并不陌生,因為即使在windows操作系統(tǒng)上,也存在環(huán)境變量。
二、普通變量
普通變量可以通過下列的方式進行賦值,并打印輸出:
復制代碼 代碼如下:
#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
三、環(huán)境變量
變量采用常見的命名方式進行命名。當程序啟動時,他接受一族環(huán)靜變量,可以使用env(eviroment)命令查看所有與終端相關(guān)的環(huán)境變量。對于進程來說,其運行時的環(huán)境變量可以用下面的命令來查看:
復制代碼 代碼如下:
cat /proc/$PID/environ #PID總是一個整數(shù)
pgrep firefox #我剛才的結(jié)果返回3013
cat /proc/3013/environ #返回了一堆,不列出
HTTP_PROXY環(huán)境變量
環(huán)境變量通常不需要在當前進程中進行定義,而是從父進程中繼承而來的。HTTP_PROXY環(huán)境變量,它定義了互聯(lián)網(wǎng)應該使用哪個代理服務器。該環(huán)境變量可以通過下列方法進行設置:
復制代碼 代碼如下:
HTTP_PROXY=192.168.1.23:3128
export HTTP_PROXY #使用export來設置環(huán)境變量
PATH環(huán)境變量
在默認情況下,有很多標準環(huán)境變量可供shell使用,PATH便是其中之一。
復制代碼 代碼如下:
echo $PATH
ecport PATH="$PATH;/home/user/bin" #在PATH中添加一條新路徑
SHELL環(huán)境變量
使用SHELL環(huán)境變量可以識別當前所使用的shell版本,方法如下:
復制代碼 代碼如下:
echo $SHELL #輸出shell的版本
echo $0 #作用同上
UID環(huán)境變量
UID是一個重要的環(huán)境變量,可以用于檢查當前腳本是以超級用戶還是以普通用戶的身份運行的。root用戶的UID是0。
您可能感興趣的文章:- 詳解shell 變量的高級用法示例
- 處理Shell腳本中帶有空格的變量(bash腳本)
- shell判斷一個變量是否為空方法總結(jié)
- linux中shell的變量的數(shù)值計算
- Shell編程之特殊變量和擴展變量詳解
- Shell編程之變量數(shù)值計算方法示例
- shell for循環(huán)、循環(huán)變量值付給其他shell腳本的方法
- 詳解Shell編程之變量數(shù)值計算(二)
- 詳解Shell編程之變量數(shù)值計算(一)
- 淺談linux中shell變量$#,$@,$0,$1,$2的含義解釋
- 判斷Linux Shell環(huán)境變量是否存在
- Linux bash Shell中的變量類型詳解
- Linux Shell腳本系列教程(四):使用函數(shù)添加環(huán)境變量
- 詳解shell 變量