Linux 系统变量
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