1. 程式人生 > >Linux作業系統下三種配置環境變數的方法(Linux檢視環境變數當前資訊和檢視命令)

Linux作業系統下三種配置環境變數的方法(Linux檢視環境變數當前資訊和檢視命令)

  • 在Unix風格的作業系統裡(包括BSD, GNU/Linux 和 Mac OS X),通常用波浪號“~”來表示當前使用者的主目錄(home目錄):例如,如果當前使用者的home目錄是/home/bloggsj,那麼,輸入 cd 或 cd ~ 或 cd /home/bloggsj 或 cd $HOME 都是等效的。這種習慣源自於1970年代流行的Lear-Siegler ADM-3A終端機,這種機器上波浪號和“home”鍵(用於把游標移動到最左端)正好在同一個鍵上。

    Linux作業系統下三種配置環境變數的方法

    現在使用linux的朋友越來越多了,在linux下做開發首先就是需要配置環境變數,下面以配置java環境變數為例介紹三種配置環境變數的方法。

    1.修改/etc/profile檔案

    如果你的計算機僅僅作為開發使用時推薦使用這種方法,因為所有使用者的shell都有權使用這些環境變數,可能會給系統帶來安全性問題。

    (1)用文字編輯器開啟/etc/profile

    (2)在profile檔案末尾加入:

    JAVA_HOME=/usr/share/jdk1.5.0_05

    PATH=$JAVA_HOME/bin:$PATH

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

    export JAVA_HOME

    export PATH

    export CLASSPATH

    (3)重新登入

    註解:

    a. 你要將 /usr/share/jdk1.5.0_05jdk 改為你的jdk安裝目錄

    b. linux下用冒號“:”來分隔路徑

    c. $PATH / $CLASSPATH / $JAVA_HOME 是用來引用原來的環境變數的值,在設定環境變數時特別要注意不能把原來的值給覆蓋掉了,這是一種常見的錯誤。

    d. CLASSPATH中當前目錄“.”不能丟,把當前目錄丟掉也是常見的錯誤。

    e. export是把這三個變數匯出為全域性變數。

    f. 大小寫必須嚴格區分

    2. 修改.bashrc檔案  

    這種方法更為安全,它可以把使用這些環境變數的許可權控制到使用者級別,如果你需要給某個使用者許可權使用這些環境變數,你只需要修改其個人使用者主目錄下的.bashrc檔案就可以了。

    (1)用文字編輯器開啟使用者目錄下的.bashrc檔案

    (2)在.bashrc檔案末尾加入:  

    set JAVA_HOME=/usr/share/jdk1.5.0_05

    export JAVA_HOME

    set PATH=$JAVA_HOME/bin:$PATH

    export PATH

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

    export CLASSPATH

    (3)重新登入

    3. 直接在shell下設定變數

    不贊成使用這種方法,因為換個shell(會話視窗),你的設定就無效了,因此這種方法僅僅是臨時使用,以後要使用的時候又要重新設定,比較麻煩。

    只需在shell終端執行下列命令:

    export JAVA_HOME=/usr/share/jdk1.5.0_05

    export PATH=$JAVA_HOME/bin:$PATH

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

    (責任編輯:A6)


    Linux檢視環境變數當前資訊和檢視命令

    2010-05-27 17:17 佚名  字號:T | T 一鍵收藏,隨時檢視,分享好友!

    本文簡述關於linux系統變數的檢視以及甚至方法等, 另補了一篇Linux檢視環境變數的命令,希望對大家有用。

    系統的環境變數在配置web server以及編寫程式都常常被用到, 因此瞭解必要的關於系統變數的知識是非常有必要的,下面關於linux系統變數的檢視以及方法。

    在Windows下,檢視環境變數的命令是:set,這個命令會輸出系統當前的環境變數。

    Linux下Linux檢視環境變數準確的說是REDHAT下應該如何檢視呢,命令是:
    export
    如果你想檢視某一個名稱的環境變數,命令是:echo $環境變數名,比如:
    echo $ORACLE_HOME
    Windows對應的命令是:
    set 環境變數名。

    外補一篇:

    1. Linux檢視環境變數顯示環境變數HOME
    $ echo $HOME/home/redbooks

    2. Linux檢視環境變數設定一個新的環境變數hello
    $ export HELLO=”Hello!”
    $ echo $HELLO
    Hello!

    3. Linux檢視環境變數使用env命令顯示所有的環境變數
    $ env
    HOSTNAME=redbooks.safe.org
    PVM_RSH=/usr/bin/rsh
    SHELL=/bin/bash
    TERM=xterm
    HISTSIZE=1000

    4. Linux檢視環境變數使用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. Linux檢視環境變數使用unset命令來清除環境變數
    set可以設定某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:
    $ export TEST=”Test…” #增加一個環境變數TEST
    $ env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了
    TEST=Test…
    $ unset $TEST #刪除環境變數TEST
    $ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經存在了

    示例如下: 
    $ 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




    本文來自ChinaUnix部落格,如果檢視原文請點:http://blog.chinaunix.net/u/30258/showart_477744.html

    6. Linux檢視環境變數使用readonly命令設定只讀變數
    如果使用了readonly命令的話,變數就不可以被修改或清除了。示例如下:
    $ export TEST=”Test…” #增加一個環境變數TEST
    $ readonly TEST #將環境變數TEST設為只讀
    $ unset TEST #會發現此變數不能被刪除
    -bash: unset: TEST: cannot unset: readonly variable
    $ TEST=”New” #會發現此也變數不能被修改
    -bash: TEST: readonly variable

    環境變數的設定位於/etc/profile檔案

    【編輯推薦】

    【責任編輯:李達 TEL:(010)68476606】