Shell 設計入門: | ||
---|---|---|
<<< Previous | 5.設定變數 | Next >>> |
那麼,變數要如何處理,才能為子 shell 取用呢?
當子 shell 產生時,它會繼承父 shell 的環境變數等條件,因此,只要使變數成為環境變數,就能為子 shell 取用。變成環境變數的方法是使用 export 這個命令。
testVAR="Hello World" export testVAR 或 export testVAR="Hello World" 則上述 testVAR.sh 即可取得 testVAR 這個變數的值了。 |
export 若單獨執行,會列出目前所有的環境變數:
export declare -x COLORFGBG="15;default;0" declare -x COLORTERM="rxvt-xpm" declare -x DISPLAY=":0.0" declare -x GS_LIB="/home/ols3/.kde/share/fonts" declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/home/ols3/.gtkrc" declare -x HISTSIZE="1000" declare -x HOME="/home/ols3" declare -x HOSTNAME="programmer.tnc.idv.tw" declare -x INPUTRC="/etc/inputrc" declare -x KDE_MULTIHEAD="false" declare -x KDE_STARTUP_ENV="programmer.tnc.idv.tw;1028124857;691068;872" declare -x LANG="zh_TW.Big5" declare -x LC_CTYPE="zh_TW.Big5" declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s" declare -x LOGNAME="ols3" declare -x LS_COLORS="" declare -x MAIL="/var/spool/mail/ols3" declare -x OLDPWD="/home/ols3/write/shell-intro" declare -x PATH="/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/home/ols3/bin:/usr/java/j2sdk1.4.0_01/bin" declare -x PWD="/home/ols3/write/shell-intro/samples" declare -x QTDIR="/usr/lib/qt3-gcc2.96" declare -x SESSION_MANAGER="local/programmer.tnc.idv.tw:/tmp/.ICE-unix/889" declare -x SHELL="/bin/bash" declare -x SHLVL="3" declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass" declare -x TERM="vt102" declare -x USER="ols3" declare -x WINDOWID="35651587" declare -x XDM_MANAGED="/var/run/xdmctl/xdmctl-:0,maysd,mayfn,sched" declare -x XMODIFIERS="@im=xcin" declare -x testVAR="Hello world" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
由上面的列表,可看出 testVAR 已變成環境變數囉。
另外,也不難發現:export testVAR 其實就是 declare -x testVAR
<<< Previous | Home | Next >>> |
變數的有效範圍 | Up | 取消環境變數 |