Linux环境变量总结
現(xiàn)在每天測(cè)試到時(shí)候會(huì)與Linux打交道,自然也會(huì)用到環(huán)境變量了。看了網(wǎng)上幾篇文章,結(jié)合自己到實(shí)踐和看法,總結(jié)以下Linux的環(huán)境變量吧。
一、什么是環(huán)境變量?
環(huán)境變量相當(dāng)于給系統(tǒng)或用戶應(yīng)用程序設(shè)置的一些參數(shù), 具體起什么作用這當(dāng)然和具體的環(huán)境變量相關(guān).
Linux是一個(gè)多用戶的操作系統(tǒng)。多用戶意味著每個(gè)用戶登錄系統(tǒng)后,都有自己專用的運(yùn)行環(huán)境。而這個(gè)環(huán)境是由一組變量所定義,這組變量被稱為環(huán)境變量。用戶可以對(duì)自己的環(huán)境變量進(jìn)行修改以達(dá)到對(duì)環(huán)境的要求。
二、定制環(huán)境變量
環(huán)境變量是和Shell緊密相關(guān)的,它是通過(guò)Shell命令來(lái)設(shè)置的。環(huán)境變量又可以被所有當(dāng)前用戶所運(yùn)行的程序所使用。對(duì)于bash來(lái)說(shuō),可以通過(guò)變量名來(lái)訪問(wèn)相應(yīng)的環(huán)境變量。
下面通過(guò)幾個(gè)實(shí)例來(lái)說(shuō)明
1.顯示環(huán)境變量HOME
$ echo $HOME
/home/admin
2.設(shè)置一個(gè)新的環(huán)境變量NAME
$ export NAME="Jay"
$ echo $NAME
Jay
3.使用env命令(或export)顯示所有的環(huán)境變量
$ env
HOSTNAME=test
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=202.xxx.xxx.xxx 53694 22
CATALINA_BASE=/usr/local/jakarta-tomcat
SSH_TTY=/dev/pts/0
ANT_HOME=/usr/local/ant
JAVA_OPTS=-server
USER=admin
...
4.使用set(或declare)命令顯示所有本地定義的Shell變量
$ set
BASH=/bin/bash
BASH_VERSION='2.05b.0(1)-release'
CATALINA_BASE=/usr/local/jakarta-tomcat
CATALINA_HOME=/usr/local/jakarta-tomcat
...
5.使用unset命令來(lái)清除環(huán)境變量
$ export NAME="Jay"
$ echo $NAME
Jay
$ unset NAME
$ echo $NAME
6.使用readonly命令設(shè)置只讀變量
$ export NAME="Jay"
$ readonly NAME
$ unset NAME
-bash: unset: NAME: cannot unset: readonly variable
$ NAME="New" #會(huì)發(fā)現(xiàn)此也變量不能被修改
-bash:?TEST: readonly variable
三、常見的環(huán)境變量
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當(dāng)前用戶主目錄
HISTSIZE 歷史記錄數(shù)
LOGNAME 當(dāng)前用戶的登錄名
HOSTNAME 指主機(jī)的名稱
SHELL 前用戶Shell類型
LANGUGE 語(yǔ)言相關(guān)的環(huán)境變量,多語(yǔ)言可以修改此環(huán)境變量
MAIL 當(dāng)前用戶的郵件存放目錄
PS1 基本提示符,對(duì)于root用戶是#,對(duì)于普通用戶是$
PS2 附屬提示符,默認(rèn)是“>”
四、通過(guò)C程序來(lái)訪問(wèn)和設(shè)置環(huán)境變量
對(duì)于C程序的用戶來(lái)說(shuō),可以使用下列三個(gè)函數(shù)來(lái)設(shè)置或訪問(wèn)一個(gè)環(huán)境變量。
getenv()訪問(wèn)一個(gè)環(huán)境變量。輸入?yún)?shù)是需要訪問(wèn)的變量名字,返回值是一個(gè)字符串。如果所訪問(wèn)的環(huán)境變量不存在,則會(huì)返回NULL;
setenv()在程序里面設(shè)置某個(gè)環(huán)境變量的函數(shù);
unsetenv()清除某個(gè)特定的環(huán)境變量的函數(shù)。
另外,還有一個(gè)指針變量environ,它指向的是包含所有的環(huán)境變量的一個(gè)列表。下面的程序可以打印出當(dāng)前運(yùn)行環(huán)境里面的所有環(huán)境變量:
#include <stdio.h>
extern char** environ;
int main ()
{
char** var;
for (var = environ; *var !=NULL;++var)
printf ("%s \n ",*var);
return 0;
}
五、環(huán)境變量文件
通過(guò)修改一些相關(guān)的環(huán)境定義文件來(lái)修改環(huán)境變量,比如對(duì)于多數(shù)Linux系統(tǒng),與環(huán)境相關(guān)的文件有/etc/profile和~/.bash_profile等。修改完畢后重新登錄一次或運(yùn)行命令source xxx就生效了。
/etc/profile或/etc/bash.bashrc
文件中修改環(huán)境變量,在這里修改的內(nèi)容是對(duì)所有用戶起作用的;
~/.profile或~/.bashrc文件進(jìn)行環(huán)境變量的編輯,只對(duì)當(dāng)前用戶有用。
轉(zhuǎn)載于:https://www.cnblogs.com/lmg-jie/p/8033965.html
總結(jié)
以上是生活随笔為你收集整理的Linux环境变量总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring-Security 自定义F
- 下一篇: web相关基础知识1