【转】linux环境变量设置

时间:2023-03-10 02:57:48
【转】linux环境变量设置

1. 显示环境变量HOME 
$ echo $HOME 
/home/terry

2. 设置一个新的环境变量WELCOME 
$ export WELCOME="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。示例如下: 
$ export TEST="Test..." #增加一个环境变量TEST 
$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了 
TEST=Test... 
$ unset $TEST #删除环境变量TEST 
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

6. 使用readonly命令设置只读变量 
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下: 
$ export TEST="Test..." #增加一个环境变量TEST 
$ readonly TEST #将环境变量TEST设为只读 
$ unset TEST #会发现此变量不能被删除 
-bash: unset: TEST: cannot unset: readonly variable 
$ TEST="New" #会发现此也变量不能被修改 
-bash: TEST: readonly variable

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

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

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

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

另外,还有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。下面的程序可以打印出当前运行环境里面的所有环境变量: 
#i nclude 
extern char**environ; 
int main () 

char**var; 
for (var =environ;*var !=NULL;++var) 
printf ("%s   ",*var); 
return 0; 
}

8、Linux下的环境变量设置
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
pathmunge /usr/X11R6/bin after
unset pathmunge
# No core files by default
ulimit -S -c 0 > /dev/null 2>&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
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
unset i
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
export JAVA_HOME CLASSPATH PATH
CVSROOT=/cvsroot;
export CVSROOT

9、LINUX系统环境变量
/etc/profile对整个系统有效. 
确定你使用的是bash

修改~/.bash_profile
把你要设置的环境变量写进去
例如
JAVA_HOME=/usr/local/jdk
export JAVA_HOME

转载:http://www.eefocus.com/sunboyu/blog/07-03/1385_8815c.html