FreeBSD handbook中文版 3 Unix 基础( 六 )


不能自动补充文件名 。因为foobar 和foo.bar 同时以fo 开始,但它无法完成foo 。一旦我
输入.,然后键入TAB,shell 就能补充完文件名 。
第11 页FreeBSD 使用手册
Shell 的另外一个功能就是环境变量 。环境变量是存储在shell 环境空间中的可变钥匙
对 。这个空间能够被shell 的任何程序调用,而且包含了许多程序配置 。这儿是一个普通环
境变量的列表:
详细说明变量
现在登陆的使用者名称 。USER
以冒号分隔的目录列表以便寻找执行文件的路径 。PATH
DISPLAY X11 显示连接的网络名称,如果有的话 。
目前用的shell。SHELL
使用者终端的名称 。用来决定终端机的能力 。TERM
完成几个终端功能的终端退出代码的数据库记录 。TERMCAP
操作系统的种类,如FreeBSD 。OSTYPE
MACHTYPE 现在系统所用的CPU 。
使用者喜欢的编辑器 。EDITOR
使用者喜欢的文字呼叫器 。PAGER
以冒号分隔的目录以便寻找联机手册 。MANPATH
在各shell 之间,设置一个环境变量稍微有点不同 。例如,象tcsh 和csh 的C 风格shell,
你可以使用setenv 来设置或查看环境变量 。而在象sh 和bash 的Bourne shell 下,你可以
使用set 和export 来查看和设置环境变量 。例如,在csh 或tcsh 下,设置或修改环境编辑
器,可以把编辑器设置成/usr/local/bin/emacs:
%setenv EDITOR /usr/local/bin/emacs
在Bourne shell 下:
%export EDITOR=“/usr/local/bin/emacs”
你也可以在命令列用$放在变量的前面来取得环境变量 。echo $TERM 就会显示出$TERM
的设置值,因为shell 取得了$TERM 并把它传给echo 显示出来 。
第12 页FreeBSD 使用手册
Shell 里有很多特殊字符代表着一些资料,我们叫做meta-characters 。最常用的就是*
这个字符,它代表文件名的任何字符 。这些meta-characters 会被用在文件名称的全域样式
上 。举例来说,键入echo *是和ls 有同样的效果,因为shell 将所有符合*的文件传到命
令列给echo 显示出来 。
为了防止这些特殊的字符被shell 转译,我们可以在前面放一个反斜线()让它们跳出
来 。echo $TERM 会显示出你所设置的终端机 。而echo $TERM 就会直接显示出$TERM 这几
个字母 。
3.7.1 改变你的shell
改变你的shell 的最简单的方法是用chsh 命令 。运行chsh 就可以把你带入系统设置的
编辑器中 。如果编辑器没有设置的话,你就可以用vi 来代替 。直接在此改变“shell:” 。
你可以给chsh 加上-s 的参数;这样,就不需要你输入一个编辑器来设置shell 了 。例如,
如果你想把你的shell 设置成bash,你只要这样做:
% chsh -s /usr/local/bin/bash
运行不带参数的chsh,编辑shell 将同样能达到目的 。
注意:你使用的shell 出现在/etc/shell文件中 。如果你在安装软件的时候,已经安
装了一个shell,那么这个就已经做好了 。如果你是手工安装shell,那你就必须做 。例如,
如果你手工安装bash,只要把它放在/usr/local/bin中,你只要这样做:
#echo “/usr/local/bin/bash”>>/etc/shells
然后再执行chsh 。
3.8 文本编辑器
在FreeBSD 中,许多配置信息都是通过编辑一个文本文件来完成的 。所以,熟悉一个
文本编辑器是非常必要的 。FreeBSD 带有许多的编辑器,可以在ports collection 中找到 。
第13 页FreeBSD 使用手册
最容易和最简单的编辑器就是ee 了,它非常容易掌握 。要启动ee,你只需要在命令行键入
ee 文件名 。例如,要编辑文件/etc/rc.conf,只要键入ee /etc/rc.conf 。一进入ee,许
多编辑功能就都列在屏幕的顶部 。^字符是键盘的ctl 键,所以^e 键盘的ctl 键加上e 键 。
要离开ee,只要键入escape 键,然后选择离开 。编辑器会提示你保存刚才的修改 。FreeBSD

推荐阅读