关于UNIX TERM
原文链接
一个终端机是一个萤幕与一个键盘的组合,其型别有vt100, vt102, vt220,sun, hp, ansi 等。基本上这些型别就是不同公司的不同产品型号,他们之间的差异在於控制游标的方法不同,按键时键盘产生的键盘代码不同,以及是否有彩色能力等。由於设计 先天不良,UNIX无法自动侦测终端机的型别,必须以人工的方式告知。告知的方法就是设定一个环境变量TERM。UNIX里面需要控制萤幕的程式都会参考 此变量。设定此变量的方法如下:
1. 在csh, tcsh下用: % set term = vt100这里要说明的是为什麽刚刚说要设定的变量名是大写(TERM),而这里却是小写;另外一个问题是csh、tcsh中,set指令是用来设定临时 变量而已,另有一个专门设定环境变量的指令叫setenv,为什麽不用setenv?
答案是 csh、tcsh为了使用者的方便,只要'term'这一个临时变量被设了值,csh 就自动更新TERM这个环境变量的值。
2. 在sh,bash,ksh,zsh中要下两个命令:$ TERM=vt100、$ export TERM其中export的意思为,把'TERM'这个暂时变量转成环境变量
<UNIX小字典——环境变量与变量>
在 UNIX里面,这是一个不讲还好、越讲越搞不清楚的观念。简单的说,所谓的<环境变量>就是此变量能够告诉所有的程式使用者目前所处的环境,而变量则不 能,因为只有Shell 能看到变量,而环境变量是所有的程式都能够看到的。例如所有的程式都需要知道TERM这个变量,所以它是一个环境变量。在sh下面的export命令可以 想作:让大家都能看到这个变量。