轉(zhuǎn)自:Linux學(xué)習(xí)之環(huán)境變量
在linux中環(huán)境變量是一個重要的概念夺巩,環(huán)境變量可以由系統(tǒng)合住、用戶、shell哑诊、以及其他程序設(shè)定群扶。變量就是一個可以被賦值的字符串,可以被賦值為數(shù)字镀裤、文本竞阐、文件名、設(shè)備及其他類型的數(shù)據(jù)暑劝。
下面我們演示一個變量的賦值骆莹,然后使用echo輸出變量值:
<pre>
[root@localhost test]# TEST="this is a test"
[root@localhost test]# echo $TEST
this is a test
</pre>
這種變量在關(guān)閉shell后就會消失,如果要配置永久的環(huán)境變量铃岔,可以在<code>/etc/prefile</code>這種配置汪疮。但這與你使用的shell解釋器有關(guān)。
<code>$which $SHELL</code>可以查看你使用的是那個shell解釋器毁习,通常都是bash智嚷。$man bash可以查看bash涉及到的環(huán)境配置文件,在你的主目錄下纺且,通常使用<code>~/.bashrc</code>文件就夠了,你也可以使用
- ~/.bash_logout
- ~/.bash_login
- ~/.bash_profile
文件進行設(shè)置環(huán)境變量盏道。
登陸linux系統(tǒng)后,shell會讀取<code>/etc/profile</code>文件和<code>./profile</code>文件初始化環(huán)境變量载碌,過程如下:
- Shell首先檢查 /etc/profile 文件是否存在猜嘱,如果存在衅枫,就讀取內(nèi)容,否則就跳過朗伶,但是不會報錯弦撩。
- 然后檢查你的主目錄(登錄目錄)中是否存在 .profile 文件,如果存在论皆,就讀取內(nèi)容益楼,否則就跳過,也不會報錯点晴。
設(shè)置終端類型
一般情況下終端是由login或getty設(shè)置的感凤,對終端使用還不是很熟練的同學(xué),可能不習(xí)慣這種輸出輸入方式粒督,交互起來比較吃力陪竿。所以,一般用戶會將終端設(shè)置成下面的類型:
<pre>[root@localhost ~]# TERM=vt100
[root@localhost ~]#</pre>
vt100 是 virtual terminate 100 的縮寫屠橄。虛擬終端是一種假的終端族跛,真正有自己的顯示器和鍵盤的終端,會通過特殊電纜(如串口)連到計算機主機仇矾。vt100 是被絕大多數(shù)Linux系統(tǒng)所支持的一種虛擬終端規(guī)范庸蔼,常用的還有ansi、xterm等贮匕。
設(shè)置PATH變量
我們在執(zhí)行一個命令時姐仅,shell會根據(jù)PATH變量來查找該命令對應(yīng)的程序,PATH給出了程序所在的路徑刻盐。一般情況下PATH變量設(shè)置如下:
<pre>
[root@localhost ~]# PATH=/bin:/usr/bin
[root@localhost ~]# echo $PATH
/bin:/usr/bin
</pre>
如果輸入的命令沒有對應(yīng)的程序就會報錯:
<pre>
[root@localhost ~]# haha
-bash: haha: command not found
[root@localhost ~]#
</pre>
PS1和PS2變量
PS1變量記錄的是命令的提示符掏膏,可以隨意修改,PS1的值修改后提示符會立即改變:
<pre>
[root@localhost ~]# PS1='[haha==>]'
[haha==>]
</pre>
可以講命令提示符設(shè)置為當(dāng)前路徑:
<pre>
[haha==>]PS1="[\u@\h \w]$"
[root@localhost ~]$cd /usr/local
[root@localhost /usr/local]$
</pre>
命令提示符包含了敦锌,用戶名馒疹、主機名、路徑等信息乙墙。
下面轉(zhuǎn)移字符可以用作PS1的值:
轉(zhuǎn)移字符 | 含義 |
---|---|
\t | 標(biāo)準(zhǔn)時間格式 HH:MM:SS |
\d | 當(dāng)前日期颖变,格式 Weekday Month Date |
\n | 換行 |
\W | 當(dāng)前路徑 |
\w | 完成路徑 |
\u | 當(dāng)前用戶名 |
\h | 當(dāng)前主機名(ip) |
# | 輸入的命令的個數(shù),每輸入一個新的命令就會加1 |
$ | 超級用戶為#听想,否者為$ |
如果用戶輸入的命令不完整腥刹,shell會使用第二種命令提示符PS2等待用戶輸入完整命令,PS2默認為>,也可以隨意修改:
[root@localhost /usr/local]$echo 'you are beautiful
> '
you are beautiful
[root@localhost /usr/local]$
設(shè)置PS2的值
[root@localhost /usr/local]$PS2="good mood every day>"
[root@localhost /usr/local]$echo 'you are beautiful
good mood every day>'
you are beautiful
[root@localhost /usr/local]$
常用的環(huán)境變量
下面列出部分環(huán)境變量汉买,可以通過上面提到的方式修改:
變量 | 描述 |
---|---|
DISPLAY | 用來設(shè)置將圖形顯示到何處 |
HOME | 當(dāng)前用戶的主目錄 |
IFS | 內(nèi)部域分割符 |
LANG | LANG可以讓系統(tǒng)支持多語言衔峰。例如,將LANG設(shè)為pt_BR,則可以支持(巴西)葡萄牙語垫卤。 |
PATH | 指定shell命令的路徑 |
PWD | 顯示當(dāng)前路徑 |
RANDOM | 生成一個介于0和32767 之間的隨機數(shù)威彰。 |
TREM | 設(shè)置終端類型 |
TZ | 時區(qū),可以AST(大西洋標(biāo)準(zhǔn)時間)是GMT(格林威治標(biāo)準(zhǔn)時間) |
UID | 以數(shù)字的形式顯示當(dāng)前用戶的id穴肘,啟動shell的時候初始化 |
好了環(huán)境變量就先學(xué)習(xí)到這吧歇盼!