1. 程式人生 > 實用技巧 >Shell:變數

Shell:變數

blog:https://www.cnblogs.com/Rohn/

目錄

變數

變數是暫時儲存資料的地方及資料標記,所儲存的資料存在於記憶體空間中,通過正確地呼叫記憶體空間中變數的名字就可以取出與變數對應的資料。

變數型別

變數可分為兩類:環境變數(可以看作全域性變數)和普通變數(區域性變數)。

環境變數

環境變數一般是指用export內建命令匯出的變數,用於定義Shell的執行環境,保證Shell命令的正確執行。

按照語法規範,環境變數名的字母必須為大寫

同時,子Shell程序可以繼承父Shell中的環境變數。

定義環境環境變數三個方式:

# 方式一
export ENV_VAR="haha"

# 方式二
ENV_VAR="haha"
export ENV_VAR

# 方式三
declare -x ENV_VAR="haha"

通過env可以檢視所有環境變數。

PATH環境變數

PATH環境變數,它決定了Shell呼叫命令時的搜尋路徑。例如:

export PATH=/usr/local/python/bin:$PATH

設定全域性變數並永久生效

可以配置在以下檔案內:

/etc/profile
/etc/bashrc

# 若要在登入後初始化或顯示載入內容,則把指令碼檔案放在/etc/profile.d/下即可(無須加執行許可權)。
/etc/profile.d/

Tips:對於使用者的環境變數設定,比較常見的是使用者家目錄下的.bashrc.bash_profile

環境變數生效順序

分為兩種情況:使用者登入啟動的shell和非使用者登入啟動的shell(如手動執行的bash或者遠端ssh連線產生的bash)。

使用者登入載入環境變數的順序:

非使用者登入啟動的shell載入環境變數的順序:

普通變數

變數定義:

var=value

value可以是數字或者字串或者命令,字元需要用單引號或者雙引號引起來,命令需要用反引號或者$(命令)方式。

安裝語法規範,變數名的字母必須小寫。詳細規範請參考:Shell語法規範

# 數字
var=123

# 字串
var='string'

# 命令
var=$(command)
var="$(command "$(command1)")"

呼叫變數

使用${var}對變數var進行呼叫。

Tips:變數的名稱是var,而不是${var}${var}是在引用、訪問變數在記憶體中儲存的值。

使用${#var}獲取變數var儲存的字元長度。

[root@test ~]# var='sssss'
[root@test ~]# echo ${var}
sssss
[root@test ~]# echo ${#var}
5