linux系统中变量,Linux系统中的环境变量知识详解
對于沒有使用過linux系統的用戶來說,有很多術語和功能都很陌生。本文就介紹了linux系統中的環境變量的相關知識,具體內容如下所述。
linux是一個多用戶的操作系統。每個用戶登錄系統后,都會有一個專用的運行環境。通常每個用戶默認的環境都是相同的,這個默認環境實際上就是一組環境變量的定義。用戶可以對自己的運行環境進行定制,其方法就是修改相應的系統環境變量。
什么是環境變量
環境變量是一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。許多用戶(特別是那些剛接觸Linux的新手)發現這些變量有些怪異或者難以控制。其實,這是個誤會:通過使用環境變量,你可以很容易的修改一個牽涉到一個或多個應用程序的配置信息。
重要的例子
下表羅列了一些Linux系統使用的變量并說明了它們的用處。在表格后面將列舉一些變量例值。
變量說明
PATH這個變量包含了一系列由冒號分隔開的目錄,系統就從這些目錄里尋找可執行文件。如果你輸入的可執行文件(例如ls、rc-update或者emerge)不在這些目錄中,系統就無法執行它(除非你輸入這個命令的完整路徑,如/bin/ls)。
ROOTPATH這個變量的功能和PATH相同,但它只羅列出超級用戶(root)鍵入命令時所需檢查的目錄。
LDPATH這個變量包含了一系列用冒號隔開的目錄,動態鏈接器將在這些目錄里查找庫文件。
MANPATH這個變量包含了一系列用冒號隔開的目錄,命令man會在這些目錄里搜索man頁面。
INFODIR這個變量包含了一系列用冒號隔開的目錄,命令info將在這些目錄里搜索info頁面。
PAGER這個變量包含了瀏覽文件內容的程序的路徑(例如less或者more)。
EDITOR這個變量包含了修改文件內容的程序(文件編輯器)的路徑(比如nano或者vi)。
KDEDIRS這個變量包含了一系列用冒號隔開的目錄,里面放的是KDE相關的資料。
CONFIG_PROTECT這個變量包含了一系列用空格隔開的目錄,它們在更新的時候會被Portage保護起來。
CONFIG_PROTECT_MASK這個變量包含了一系列用空格隔開的目錄,它們在更新的時候不會被Portage保護起來。
下面你可以找到所有這些變量定義的范例:
代碼1:定義范例
PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin"
ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"
MANPATH="/usr/share/man:/usr/local/share/man"
INFODIR="/usr/share/info:/usr/local/share/info"
PAGER="/usr/bin/less"
EDITOR="/usr/bin/vim"
KDEDIRS="/usr"
CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb/opt/tomcat/conf"
/usr/kde/3.1/share/config/usr/share/texmf/tex/generic/config/"
/usr/share/texmf/tex/platex/config//usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf"
對于bashshell
關于環境變量命令介紹:
1.echo顯示某個環境變量值echo$PATH
2.export設置一個新的環境變量exportHELLO="hello"(可以無引號)
3.env顯示所有環境變量
4.set顯示本地定義的shell變量
5.unset清除環境變量unsetHELLO
6.readonly設置只讀環境變量readonlyHELLO
常見的環境變量
PATH:決定了shell將到哪些目錄中尋找命令或程序
HOME:當前用戶主目錄
MAIL:是指當前用戶的郵件存放目錄。
SHELL:是指當前用戶用的是哪種Shell。
HISTSIZE:是指保存歷史命令記錄的條數
LOGNAME:是指當前用戶的登錄名。
HOSTNAME:是指主機的名稱,許多應用程序如果要用到主機名的話,通常是從這個環境變量中來取得的。
LANG/LANGUGE:是和語言相關的環境變量,使用多種語言的用戶可以修改此環境變量。
PS1:是基本提示符,對于root用戶是#,對于普通用戶是$。
PS2:是附屬提示符,默認是“>”。可以通過修改此環境變量來修改當前的命令符,比如下列命令會將提示符修改成字符串“Hello,MyNewPrompt:)”。
#PS1="Hello,MyNewPrompt:)"
使用修改.bashrc文件進行環境變量的編輯,只對當前用戶有用。
使用修改/etc/profile文件進行環境變量的編輯,是對所有用戶有用。大家一定要注意區別。
如何設置Shell環境變量?
Shell
設置
添加
去除
顯示當前值
注解
sh
NAME=value1
export NAME
NAME=value2:$NAME
unset NAME
set(internal)或者env(exported)
如果需要子進程也看到該環境變量,需要使用export
ksh
NAME=value1
export NAME
NAME=value2:$NAME
unset NAME
set(internal)或者env(exported)
如果需要子進程也看到該環境變量,需要使用export
csh
setenv NAME value1
setenv NAME value2:$NAME
unsetenv NAME
set
不需要使用export
bash
NAME=value1
NAME=value2:$NAME
unset NAME
set或者env
如果需要子進程也看到該環境變量,需要使用export
總結:
希望本文 介紹的Linux系統中的環境變量的知識能夠對讀者有所幫助,更多有關linux系統的知識還有待于讀者去探索和學習。
【編輯推薦】
【責任編輯:韓亞珊 TEL:(010)68476606】
點贊 0
總結
以上是生活随笔為你收集整理的linux系统中变量,Linux系统中的环境变量知识详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【联机对战】微信小程序联机游戏开发流程详
- 下一篇: linux 如何赋值目录,Linux文件