linux是乙個多使用者的作業系統,每個使用者登入系統,都會有乙個專用的執行環境。通常每個使用者預設的環境都是相同的,預設環境實際上是一組環境變數的定義。通過相應的系統環境變數,使用者可以對自己的執行環境進行個性化設定。
shell 變數名可以由下劃線、字母、數字組成,單變數不能以數字開頭,並注意區分大小寫。在 shell 中,要對shell 的變數繼續操作,通常使用以下幾個命令。
# 設定變數: 變數名=變數值
[hk@localhost ~]$ mypath=/home/hk/c/
# 使用變數: $變數名
[hk@localhost ~]$ echo $mypath
/home/hk/c/
# 檢視變數可以使用 set 命令,並可以利用管道查詢需要的環境變數
[hk@localhost ~]$ set|grep mypath
mypath=/home/hk/c/
# 清除變數使用 unset 命令
[hk@localhost ~]$ unset mypath
# 因為變數已被清除,列印一行空行
[hk@localhost ~]$ echo $mypath
[hk@localhost ~]$
shell 中的變數型別有很多種,這裡主要介紹兩種,
引數 說明
home 當前使用者的主目錄,同符號"~"
path 乙個用冒號分隔的目錄列表,shell執行命令時首先從這些目錄裡查詢相關命令
ps1 主要提示符
ps2 次要提示符
histsize 在歷史列表中記錄的最大命令數
lang 語言環境變數設定
ppid 當前shell父程序的程序id
random 乙個 0 到 32767 之間的隨機整數
term 終端的型別
uid 當前使用者的識別字,取值由數字構成的字串
當登入到 linux 系統後,需要給當前使用者設定一些預設的環境變數,例如主機名hostname,命令搜尋路徑 path 或終端型別 term 等。這些變數在使用者登入時通過使用者的環境變數配置檔案來設定。在使用者主目錄下有一下變數相關的檔案,如下所示:
[hk@localhost ~]$ ls -a .bash*
.bash_history .bash_logout .bash_profile .bashrc
# .bash_history 記錄了當前使用者執行過的歷史命令
# .bash_logout 表示退出當前shell時需要執行的命令
# .bash_profile 表示登入當前shell時需要執行的命令
# .bashrc 表示每次開啟新的shell時需要執行的命令
.bash_profile 只在會話開始時被載入,而 .bashrc 在每次開啟新的終端時都要被讀取。一般為了統一設定,可以把所有設定都放進 .bashrc 。
以上這些檔案是每一位使用者的設定。系統級的設定儲存在 /etc/profile、/etc/bashrc 及目錄 /etc/profile.d 下的檔案中,這些檔案的編輯需要具備 root 許可權,所以一般通過使用者自己的環境變數定義檔案設定屬於該使用者的環境變數。當系統與使用者級的設定發生衝突時,將優先採用使用者的設定。
1. 顯示所有環境變數
在 linux 系統中顯示所有環境變數可以使用 export、env、 set 等命令,可以和管道結合使用來模糊查詢某些環境變數。
# 先使用 set 命令來顯示所有環境變數,然後利用管道將輸出傳給 grep 命令查詢匹配的環境變數
[hk@localhost ~]$ set | grep path
path=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/hk/.local/bin:/home/hk/bin
[hk@localhost ~]$ set | grep his
histcontrol=ignoredups
histfile=/home/hk/.bash_history
histfilesize=1000
histsize=1000
[hk@localhost ~]$
2. 清除環境變數
要清除環境變數,可以使用 unset 或 使用 export 將某個變數設定為空,如下所示:
# 使用export 命令設定 mypath 環境變數
[root@localhost hk]# export mypath=/home/hk/c/
# 使用 echo 顯示mypath
[root@localhost hk]# echo $mypath
/home/hk/c/
# 使用 unset 清除 mypath
[root@localhost hk]# unset mypath
[root@localhost hk]# echo $mypath
[root@localhost hk]# export mypath=/home/hk/c/
[root@localhost hk]# echo $mypath
/home/hk/c/
# 使用 export 清除 mypath
[root@localhost hk]# export mypath=
[root@localhost hk]# echo $mypath
# 因為 mypath 已被清空,所以顯示空行
[root@localhost hk]#
linux環境程式設計 環境變數 列印環境變數
在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...
linux環境變數
初次學習lliux對環境變數的知識甚是不解決,特花費乙個上午的時間總結了一下,可以說是全面!如各位有更加詳細的見解不妨告知!定製環境變數 環境變數是和shell緊密相關的,使用者登入系統後就啟動了乙個shell。對於linux來說一般是bash,但也可以重新設定或切換到其它的 shell。環境變數是...
Linux環境變數
好吧,我承認這篇文章是轉的.1.顯示環境變數home echo home home redbooks 2.設定乙個新的環境變數hello export hello hello echo hello hello 3.使用env命令顯示所有的環境變數 env hostname redbooks.safe...