免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1121 | 回复: 0
打印 上一主题 下一主题

Shell 的环境变量/环境设定/中文支持 for freebsd [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-12 12:57 |只看该作者 |倒序浏览

在 Shell 有所谓的环境变量,当我们在 shell 中执行指令时,这些环境变量可能会被该程序用来判断程序所要执行时的参数。例如,我们在执行 cal 这个指令时,我们不必打它的绝对路径 /usr/bin/cal,因为 shell 会自动依照 PATH 这个环境变量所设定的路径去找我们所输入的指令。您可以使用下列指令来看目前 PATH 这个变量的内容:
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin
如果您使用 tcsh,您也可以打 setenv 来看目前所有的环境变量。以下为一些常用的环境变量:
变量名称
描述
USER
目前所使用的使用者名称。
PATH
执行指令所要搜寻的位置,以冒号隔开。
SHELL
目前所使用的 Shell。
TERM
目前所使用的终端机模式。
OSTYPE
操作系统名称。
MACHTYPE
系统所使用的 CPU 架构。
PAGER
当需要分页时,所要使用的分页软件,如 more 或 less。
EDITOR
预设所要使用的编辑器。
您也可以使用 setenv 来改变一个环境变量的值。例如,我们要将预设的文书编辑器改成 ee,在 tcsh 中可以使用:
# setenv EDITOR ee
如果您使用的是 Bourne Shell:
# export EDITOR="ee"
3.4.2 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->
就是开头是机器名称,再来是路径名称,最后是使用者名称。
由于在 /etc 下的 csh.cshrc 是通用的设定,但如果使用者自己的设定和通用设定一样时,会以使用者的设定为主。例如,在一般使用者的家目录下的 .cshrc 也有一行编辑器的设定,当设定不同时,会以使用者目录下的设定为主。因此,我们必须再编辑 ~/.cshrc,并找到setenv EDITOR vi 换成 setenv EDITOR 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 并在最后面加入以下的设定:
setenv ENABLE_STARTUP_LOCALE zh_TW.Big5
# 若是使用远程登入时,才能打出中文
# 4.x 请设定为 is_IS.ISO_8859-1,5.x 为 is_IS.ISO8859-1
setenv LC_CTYPE is_IS.ISO8859-1
# 若是console下用,才能打出中文
setenv LANG zh_TW.Big5
上述的环境变量设定会在使用者登入时自动被加载,一些程序 (例如 date) 会自动读取这些变量,并产生中文的讯息。不过由于我们的 console 尚未支持中文,我们必须先安装中文终端机软件,或在支持中文的 PC 上使用 telnet 登入。别急,我们会在下面几节中说明如何安装中文终端机。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13650/showart_73771.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP