5 Solaris高级系统管理员指南( 二 )


7.2.1标准shell的初始文件
标准shell只使用一个初始执行文件 , 其名为.profile , 一般放在用户的基目录(home Directory)之下 , 它专门用来设置用户的环境 。当用户注册或在命令行中启动标准shell时 , 即读.profile文件 , 一般来说 , 用户通过此文件来设置用户查找路径和其它环境变量 。
7.2.2定义标准shell的环境变量
对于标准shell和Korn shell而言 , 定义环境变量的语法都是一样的,输入命令=; export , 例如:
$HZ=100;export HZ
$
7.3 C shell
C shell是Bill Joy先生在UCB工作学习时开发的 , 它已被UNIX的众多用户所接受 。C shell完全不同于标准shell和Korn shell , 而且有自己独特的语法规则 , C shell最重要的优点是具有历史功能、命令编辑功能和别名功能 。历史功能的意义是C shell可以存贮用户最近输入的命令记录 , 用户可以显示这些命令 , 也可以按原样重新使用某条命令;而编辑功能是用户可以通过编辑来改变某条命令;别名可以让用户用短的名字来表示经常使用的长命令 , 或几条常用命令 。
7.3.1C shell的初始文件
C shell使用两个初始化文件 , 用于设置用户的环境变量 , 这两个初始文件名分别是.login和.cshrc , 也放在用户基本目录之下 。
当用户注册时 , C shell首先读.login , 然后再读.cshrc文件 。当用户是从命令行中启动C shell时 , 只读.cshrc文件(C shell运行控制) 。因为.login文件不是每次启动C shell都读入 , 因此用户应该在.login中设置环境变量 , 而在.cshrc文件中设置用户的查找路径名 。
7.3.2C shell环境变量的定义
使用命令setenv , 例如:
gtxa%setenv display rogue:0
gtxa%
7.3.3建立C shell的别名
用户可以在.cshrc文件中定义所需的别名 。建立一个别名的语法为:
alias
例如 , 你想简写别名(alias)这个命令成为a , 则可以在.cshrc文件加入下列一行:
alias a alias
下面的实例选自.cshrc文件 。注意 , 如果命令行中包含有空格 , 则必须把整个命令中用引号引起来 , 引号可以是双引号 , 也可以是单引号:
alias a alias
a h hiostory
a c clear
a lf 1s -F
a ll "ls -l | home"
a la ls -a
a s "source .cshrc"
a f ‘find -name core -print"
a copytotape "ter cvf /dev/rmt/0 *"
7.3.4设置C shell的历史功能
要设置C shell的历史功能 , 只需在命令行中打入:
set history=
其中 , n可理解为C shell可以存贮的命令条数 。举例:
gtxa%set history=18
gtxa%
用户既可在shell窗口中"临时"设置历史功能 , 也可以把它放在.cshrc文件中设置"永久"的历史功能 。
7.3.5使用C shell历史功能
在命令行中 , 打入history命令 , 即可显示已经打入过的命令 , 这些命令是你打入的最后n条命令 , n是像7.3.4节所述的方法设置的 。
gtxa%history
26 pwd
27 kermit
28 cd howto
29 tar avf /dev/rmt/0
30 ls -l howto*
31 cd
32 cd Config/Art
33 ls -1
34 tar cvf /dev/rmt/0
35 histoty
gtxa%
要想重复执行刚打入的命令 , 可打入!!和回车 , 即复执行上一条命令:
gtxa% history
26 pwd
27 kermit
28 cd howto
29 tar avf /dev/rmt/0
30 ls-l howto*
31 cd
32 cd Conrig/Art
33 ls-1
34 tar cvf /dev rmt/0
35 histoty
gtxa%!!
history
27 kermit
28 cd howto
29 tar avf /dev/rmt/0
30 ls-l howto*
31 cd
32 cd Conrig/Art
33 ls-1
34 tar cvf /dev rmt/0
35 history
36 history
gtxa%
要重复最后一条命令的最后一个词 , 可打入!$ , 这样上一条命令的最后一个词即可作为当前命令行中的一个变量 。例如 , 你可能已经输入了某个文件的全程路径 , 然后想用这个路径名作为变量 , 来用vi编辑此文件或打印此文件:
gtxa%ls -l /home/ignatz/quest

推荐阅读