安迪老大

菩提本无树,明镜亦非台,本来无一物,何处惹尘埃 。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  10 随笔 :: 116 文章 :: 6 评论 :: 0 引用

Tcsh 的环境设定 

登入系统后,您会发现在光标之前有一个井字号 "#",这个井字号我们称之为提示符号 (prompt)。在 tcsh 及 csh 中,当以 root 登入时,预设的提示符号是 "#",而以一般使用者登入时,提示符号为 "%"。 

FreeBSD 安装好后,我们必须做一些设定让 FreeBSD 使用起来更顺手。在预设的况状下,系统并不支持中文文件名,对于使用中文的人不太方便。另外,命令列提示符号的样子也不符合我们的需求。如果你想要客制化一些指令,也可以在这里加上去。所以在开始进行其它设定之前,我们先建立一个良好的使用环境。 

在使用者登入后,Tcsh 会先去读取 /etc/csh.cshrc 及 /etc/csh.login 的设定,接着会读取该使用者家目录下的 .cshrc 及 .login。因此,我们可以经由设定这几个档案让设定使用者一登入时就生效。 

首先编辑 /etc/csh.cshrc 加入下列设定: 

setenv EDITOR ee 
alias ls ls -F 
set prompt = "%B%m [%~] -%n-> " 

第一行设定是将预设的文书编辑器改成 ee。第二行是要将指令 ls 变成 ls -F,就是每次打 ls 时,系统会出现 ls -F 的效果。而第三行是将命令列的提示符号改成下面这样: 

mydomain [/home/john] -john-> 

就是开头是机器名称,再来是路径名称,最后是使用者名称。修改完 csh.cshrc 或 ~/.cshrc 后,您必须注销再登入才会看到修改后的效果。或者,您也可以使用下列指令来让修改立即生效: 

# source ~/.cshrc 

由于在 /etc 下的 csh.cshrc 是通用的设定,但如果使用者自己的设定和通用设定一样时,会以使用者的设定为主。例如,在一般使用者的家目录下的 .cshrc 也有一行编辑器的设定,当设定不同时,会以使用者目录下的设定为主。因此,我们必须再编辑 ~/.cshrc,将 EDITOR 从 vi 改 ee,如此一来设定才会生效。 

如果您希望日后每个新增的使用者的设定都是这样,则必须修改 /usr/share/skel/dot.cshrc 档案,该档内容的修改和修改 ~/.cshrc 一样,把 vi 换成 ee ,并加入 「alias ls ls -F」。因为在使用 adduser 指令新增使用者时,它会问你是否要将 /usr/share/skel/dot.file 复制到使用者目录下,因此我们就修改这里,让日后新增使用者时能使用该设定。 

/etc/csh.cshrc 和 /etc/csh.login 的差别在于如果是使用者登入,二个档案都会被执行,如果是 scripts 则只会去读取 csh.cshrc。我们接下来要让使用者登入后可以支持中文的 console 环境,所以我们编辑 /etc/csh.login 并在最后面加入以下的设定: 

# 支持中文的环境,让我们可以在 console 下或 telnet 中使用中文。 
setenv LANG zh_TW.Big5 

上述的环境变量设定会在使用者登入时自动被加载,一些程序 (例如 date) 会自动读取这些变量,并产生中文的讯息。

posted on 2016-05-03 16:03  安迪老大  阅读(93)  评论(0编辑  收藏