字體:小 中 大 | |
|
|
2013/10/18 23:27:45瀏覽494|回應0|推薦0 | |
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 引用至:http://por.tw/linux/rewrite.php/read-21.html |
|
( 知識學習|其他 ) |