什么是環境變量,Linux環境變量及作用
我們可以使用 env 命令來查看到 Linux 系統中所有的環境變量,執行命令如下:值得一提的是,Linux 系統中環境變量的名稱一般都是大寫的,這是一種約定俗成的規范。
[root@localhost ~]# env
ORBIT_SOCKETDIR=/tmp/orbit-root
HOSTNAME=livecd.centos
GIO_LAUNCHED_DESKTOP_FILE_PID=2065
TERM=xterm
SHELL=/bin/bash
......
環境變量名稱 | 作用 |
---|---|
HOME | 用戶的主目錄(也稱家目錄) |
SHELL | 用戶使用的 Shell 解釋器名稱 |
PATH | 定義命令行解釋器搜索用戶執行命令的路徑 |
EDITOR | 用戶默認的文本解釋器 |
RANDOM | 生成一個隨機數字 |
LANG | 系統語言、語系名稱 |
HISTSIZE | 輸出的歷史命令記錄條數 |
HISTFILESIZE | 保存的歷史命令記錄條數 |
PS1 | Bash解釋器的提示符 |
郵件保存路徑 |
Linux 作為一個多用戶多任務的操作系統,能夠為每個用戶提供獨立的、合適的工作運行環境,因此,一個相同的環境變量會因為用戶身份的不同而具有不同的值。
例如,使用下述命令來查看 HOME 變量在不同用戶身份下都有哪些值:
[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# su - user1 <--切換到 user1 用戶身份
[user1@localhost ~]$ echo $HOME
/home/user1
其實,環境變量是由固定的變量名與用戶或系統設置的變量值兩部分組成的,我們完全可以自行創建環境變量來滿足工作需求。例如,設置一個名稱為 WORKDIR 的環境變量,方便用戶更輕松地進入一個層次較深的目錄,執行命令如下:這里的 su 命令可以臨時切換用戶身份,此命令的具體用法會在后續章節做詳細介紹。
[root@localhost ~]# mkdir /home/work1
[root@localhost ~]# WORKDIR=/home/work1
[root@localhost ~]# cd $WORKDIR
[root@localhost work1]# pwd
/home/work1
[root@localhost work1]# su user1 <-- 切換到 user1,發現無法使用 WORKDIR 自定義變量
[user1@localhost ~]$ cd $WORKDIR
[user1@localhost ~]$ echo $WORKDIR
[user1@localhost ~]$ exit <--退出user1身份
[root@localhost work1]# export WORKDIR
[root@localhost work1]# su user1
[user1@localhost ~]$ cd $WORKDIR
[user1@localhost work1]$ pwd
/home/work1