• 在linux下如何设置环境变量
    时间:2008-11-19   作者:佚名   出处:互联网

    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 \n ",*var);
    return 0;
    }


    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
    LINUX系统环境变量
    /etc/profile对整个系统有效.
    确定你使用的是bash
    修改~/.bash_profile
    把你要设置的环境变量写进去
    例如
    JAVA_HOME=/usr/local/jdk
    export JAVA_HOME

    网友留言/评论

    我要留言/评论