變數是暫時存儲數據的地方及數據標記,所存儲的數據存在於記憶體空間中,通過正確地調用記憶體空間中變數的名字就可以取出與變數對應的數據。 ...
目錄
變數
變數是暫時存儲數據的地方及數據標記,所存儲的數據存在於記憶體空間中,通過正確地調用記憶體空間中變數的名字就可以取出與變數對應的數據。
變數類型
變數可分為兩類:環境變數(可以看作全局變數)和普通變數(局部變數)。
環境變數
環境變數一般是指用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