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】