Linux 系统变量

Linux学堂 2012-06-08

1. 显示环境变量HOME

$echo$HOME

/home/terry

2.设置一个新的环境变量WELCOME

$exportWELCOME="Hello!"

$echo$WELCOME

Hello!

3.使用env命令显示所有的环境变量

$env

HOSTNAME=terry.mykms.org

PVM_RSH=/usr/bin/rsh

SHELL=/bin/bash

TERM=xterm

HISTSIZE=1000

4.使用set命令显示所有本地定义的Shell变量

$set

BASH=/bin/bash

BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")

BASH_VERSION='2.05b.0(1)-release'

COLORS=/etc/DIR_COLORS.xterm

COLUMNS=80

DIRSTACK=()

DISPLAY=:0.0

5.使用unset命令来清除环境变量

set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

$exportTEST="Test..."#增加一个环境变量TEST

$env|grepTEST#此命令有输入,证明环境变量TEST已经存在了

TEST=Test...

$unset$TEST#删除环境变量TEST

$env|grepTEST#此命令没有输出,证明环境变量TEST已经存在了

6.使用readonly命令设置只读变量

如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

$exportTEST="Test..."#增加一个环境变量TEST

$readonlyTEST#将环境变量TEST设为只读

$unsetTEST#会发现此变量不能被删除

-bash:unset:TEST:cannotunset:readonlyvariable

$TEST="New"#会发现此也变量不能被修改

-bash:TEST:readonlyvariable

7.用C程序来访问和设置环境变量

对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。

◆getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL。

◆setenv()在程序里面设置某个环境变量的函数。

◆unsetenv()清除某个特定的环境变量的函数。

另外,还有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。下面的程序可以打印出当前运行环境里面的所有环境变量:

#include

externchar**environ;

intmain()

{

char**var;

for(var=environ;*var!=NULL;++var)

printf("%s\n",*var);

return0;

}

Linux下的环境变量设置

#/etc/profile

#Systemwideenvironmentandstartupprograms,forloginsetup

#Functionsandaliasesgoin/etc/bashrc

pathmunge(){

if!echo$PATH|/bin/egrep-q"(^|:)$1($|:)";then

if["$2"="after"];then

PATH=$PATH:$1

else

PATH=$1:$PATH

fi

fi

}

#Pathmanipulation

if[`id-u`=0];then

pathmunge/sbin

pathmunge/usr/sbin

pathmunge/usr/local/sbin

fi

pathmunge/usr/X11R6/binafter

unsetpathmunge

#Nocorefilesbydefault

ulimit-S-c0>/dev/null2>&1

USER="`id-un`"

LOGNAME=$USER

MAIL="/var/spool/mail/$USER"

HOSTNAME=`/bin/hostname`

HISTSIZE=1000

if[-z"$INPUTRC"-a!-f"$HOME/.inputrc"];then

INPUTRC=/etc/inputrc

fi

exportPATHUSERLOGNAMEMAILHOSTNAMEHISTSIZEINPUTRC

foriin/etc/profile.d/*.sh;do

if[-r"$i"];then

.$i

fi

done

unseti

JAVA_HOME="/opt/j2sdk1.4.2_01"

MYSQL_HOME="/var/mysql"

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin:/opt/apache-ant-1.5.4/bin

exportJAVA_HOMECLASSPATHPATH

CVSROOT=/cvsroot;

exportCVSROOT

LINUX系统环境变量

/etc/profile对整个系统有效.

确定你使用的是bash

修改~/.bash_profile

把你要设置的环境变量写进去

例如

JAVA_HOME=/usr/local/jdk

exportJAVA_HOME

相关推荐