什么是環境變量,Linux環境變量及作用 echo


什么是環境變量,Linux環境變量及作用

變量是計算機系統用於保存可變值的數據類型,我們可以直接通過變量名稱來提取到對應的變量值。在 Linux 系統中,環境變量是用來定義系統運行環境的一些參數,比如每個用戶不同的家目錄(HOME)、郵件存放位置(MAIL)等。

值得一提的是,Linux 系統中環境變量的名稱一般都是大寫的,這是一種約定俗成的規范。

我們可以使用 env 命令來查看到 Linux 系統中所有的環境變量,執行命令如下:

[root@localhost ~]# env
ORBIT_SOCKETDIR=/tmp/orbit-root
HOSTNAME=livecd.centos
GIO_LAUNCHED_DESKTOP_FILE_PID=2065
TERM=xterm
SHELL=/bin/bash
......

Linux 系統能夠正常運行並且為用戶提供服務,需要數百個環境變量來協同工作,但是,我們沒有必要逐一學習每個變量,這里給大家列舉了 10 個非常重要的環境變量,如表 1 所示。

表 1 Linux系統中重要的10個環境變量
環境變量名稱 作用
HOME 用戶的主目錄(也稱家目錄)
SHELL  用戶使用的 Shell 解釋器名稱
PATH 定義命令行解釋器搜索用戶執行命令的路徑
EDITOR 用戶默認的文本解釋器
RANDOM 生成一個隨機數字
LANG 系統語言、語系名稱
HISTSIZE 輸出的歷史命令記錄條數
HISTFILESIZE 保存的歷史命令記錄條數
PS1 Bash解釋器的提示符
MAIL 郵件保存路徑

Linux 作為一個多用戶多任務的操作系統,能夠為每個用戶提供獨立的、合適的工作運行環境,因此,一個相同的環境變量會因為用戶身份的不同而具有不同的值。

例如,使用下述命令來查看 HOME 變量在不同用戶身份下都有哪些值:

[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# su - user1  <--切換到 user1 用戶身份
[user1@localhost ~]$ echo $HOME
/home/user1

這里的 su 命令可以臨時切換用戶身份,此命令的具體用法會在后續章節做詳細介紹。

其實,環境變量是由固定的變量名與用戶或系統設置的變量值兩部分組成的,我們完全可以自行創建環境變量來滿足工作需求。例如,設置一個名稱為 WORKDIR 的環境變量,方便用戶更輕松地進入一個層次較深的目錄,執行命令如下:

[root@localhost ~]# mkdir /home/work1
[root@localhost ~]# WORKDIR=/home/work1
[root@localhost ~]# cd $WORKDIR
[root@localhost work1]# pwd
/home/work1

但是,這樣的環境變量不具有全局性,作用范圍也有限,默認情況下不能被其他用戶使用。如果工作需要,可以使用 export 命令將其提升為全局環境變量,這樣其他用戶就可以使用它了:

[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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM