-
1 # 一口一塊豆腐乳
-
2 # 嬞菇涼
按變數的生存週期來劃分,linux變數可分為兩類,它們的修改方法如下:
(1)永久的:需要修改配置檔案,變數永久生效。
常見的配置檔案包括:
(1-1)/etc/profile:對所有使用者生效;此檔案為系統的每個使用者設定環境資訊,當用戶第一次登入時,該檔案被執行;並從/etc/profile.d目錄的配置檔案中搜集shell的設定
例如:編輯/etc/profile檔案,新增classpath變數
#vi/etc/profile
新增一行:
exportclasspath=./java_home/lib;$java_home/jre/lib
修改後需要執行重新登入才能生效,也可以執行命令source/etc/profile來生效
(1-2)/etc/bashrc:對所有使用者生效;為每一個執行bashshell的使用者執行此檔案.當bashshell被開啟時,該檔案被讀取
編輯方法如上,不再贅述
(1-3)~/.bash_profile:僅會對當前使用者有效;每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當用戶登入時,該檔案僅僅執行一次
例如:編輯guok使用者目錄(/home/guok)下的.bash_profile
$vi/home/guok/.bash.profile
新增如下內容:
exportclasspath=./java_home/lib;$java_home/jre/lib
修改後需要執行重新登入才能生效,也可以執行命令source/etc/profile來生效
(1-4)~/.bashrc:僅會對當前使用者有效;該檔案包含專用於你的bashshell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取
編輯方法如上,不再贅述
另外,~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係
綜述,對上述檔案修改,新增你需要的變數,在啟動一個shell(終端,terminal)時,你所定義的變數均會生效的。
(2)臨時的:使用export命令宣告即可,變數只在當前的shell(bash)或其子shell(bash)下是有效的,在關閉shell後失效,再開啟新shell時就沒有這個變數,需要使用的話還需要重新定義
在shell的命令列下直接使用[export變數名=變數值]定義變數
環境變數的檢視
(1)使用echo命令檢視單個環境變數。例如:
echo$path
(2)使用env檢視所有環境變數。例如:
env
(3)使用set檢視所有本地定義的環境變數。例如:
set
常用的環境變數
path決定了shell將到哪些目錄中尋找命令或程式
home當前使用者主目錄
histsize 歷史記錄數
logname當前使用者的登入名
hostname 指主機的名稱
shell當前使用者shell型別
languge 語言相關的環境變數,多語言可以修改此環境變數
mail 當前使用者的郵件存放目錄
ps1 基本提示符,對於root使用者是#,對於普通使用者是$
回覆列表
為了使用方便,比如設定了環境變數python位置,你直接在終端輸入python就可以啟動,如果python不包含在環境變數中,你要進入python安裝所在檔案,輸入python才能啟動。一句話,方便系統搜尋命令具體位置。