Linux Shell基礎 環境變數、位置引數變數、預定義變數
阿新 • • 發佈:2018-11-21
環境變數
在 Linux 中一般通過環境變數配置作業系統的環境,如提示符、查詢命令的路徑、使用者家目錄等,這些系統預設的環境變數的變數名是固定的,我們只能修改變數的值。
環境變數設定
t通過 export 命令將變數宣告為環境變數。命令如下:
[[email protected] ~]# export JAVAHOME="/usr/local/bin/jdk-8u131"
也可以先把變數宣告為本地變數,再用 export 宣告為環境變數,命令如下:
[[email protected] ~]# JAVAHOME="/usr/local/bin/jdk-8u131" [[email protected] ~]# export JAVAHOME
使用者自定義變數和環境變數的區別就是:使用者自定義變數只能在當前 Shell 中有效,而環境變數在當前 Shell 和所有子 Shell 中有效。比如:
[[email protected] ~]# name="zhang san" #把姓名宣告為本地變數 [[email protected] ~]# export age="18" #年齡宣告為本地變數 [[email protected] ~]# gender=male #性別宣告為本地變數 [[email protected] ~]# export gender #性別升級為環境變數
然後使用 set命令查詢一下這些變數:
[[email protected] ~]# set …省略部分內容… gender=male name='zhang san' age=18
在當前 Shell 中可以看到這三個變數。
再呼叫一次bash,也就是進入子Shell
[[email protected] ~]# bash [[email protected] ~]# set #再次查詢變數 …省略部分輸出… age=18 gender=male
在子Shell中只能看到環境變數"age"和"gender",而不能查詢到使用者自定義變數"name"
環境變數查詢
set 既可以查詢所有的變數,也可以查詢環境變數,也可以使用 env 命進行環境變數的查詢,命令如下:
[[email protected] ~]# env HOSTNAME=localhost.localdomain SELINUX_ROLE_REQUESTED= SHELL=/bin/bash …省略部分輸出…
其中,set 命令可以檢視所有變數,而 env 命令只能檢視環境變數。
環境變數刪除
通過unset 命令可以刪除環境變數,命令如下:
[[email protected] ~]# unset gender [[email protected] ~]# env | grep gender #刪除環境變數gender