不同的shell设置环境变量也不相同。举个例子,在如tcsh 和 csh这样的C-Style shell,您必须使用setenv去设置环境变量。而在如sh和bash这样的Bourne shell,您必须使用export去设置当前环境变量。再举个例子,要去设置或改变EDITOR环境变量,在csh或tcsh下将EDITOR设为 /usr/local/bin/emacs:
% setenv EDITOR /usr/local/bin/emacs
而在Bourne shell下,则是:
% export EDITOR="/usr/local/bin/emacs"
您也可以在命令行上加一个$字符在变量之前从而取得环境变量。举个例子,用echo $TERM 就会显示出$TERM的设定值, 其实就是shell取得$TERM并传给echo来显示的。
shell里有许多特别的字符代表着特别的资料,我们把叫做meta-characters。最常用的就是*字符,它可代表文件名的任何字符。这些特别字符应用到文件名全域方面。假如,输入 echo *和输入 ls的效果是相同的,其实就是 shell 取得了全部符合 *的文件名,并传给 echo 在命令行下显示出来。
为了防止shell去分析这些特别字符,我们可在它之前加一个 \字符去说明它只是普通字符。echo $TERM就会显示出您的终端情况,而 echo \$TERM 就会显示出 $TERM 这几个字。