| 变量 | 说明 |
|---|---|
| USER | 当前登录进入的用户名。 |
| PATH | 搜索程序路径,以两点的冒号分隔开。 |
| DISPLAY | 假如有这个变量的话,就是X11显示器的网络名称。 |
| SHELL | 当前所用的shell。 |
| TERM | 用户终端的名字,通常用在确定终端的能力。 |
| TERMCAP | 各种终端功能所用终端分离编码的基本数据项目。 |
| OSTYPE | 操作系统类型,默认是FreeBSD。 |
| MACHTYPE | 是指系统上运行的CPU体系结构。 |
| EDITOR | 用户首选的文本编辑器。 |
| PAGER | 用户首选的文本页面调度程序 。 |
| MANPATH | 搜索联机手册路径,以两点的冒号分隔开。 |
不同的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 这几个字。
