Latest News

Home » Linux主機指令大全 » Linux 系統管理篇(環境變量)

Linux 系統管理篇(環境變量)

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;
}

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

About

發佈留言