1.说明
使用set和setenv命令可以设置shell选项或者列出shell变量,其中setenv 是csh的命令,在bash中用export命令,alias作用相当windows下的快捷方式。
2.语法格式
set 变量名 = 内容
set 变量名 =(内容1 内容2 )
set 变量名 ="内容1 内容2"
setenv 变量名 内容
setenv 变量名 "内容1 内容2"
setenv 变量名 '内容1 内容2'
alias 简化名称 原文件名
alias 简化名称 "原文件名 参数"
3. 调用
set 和setenv 在调用时均需要加"$"符号,表示调用变量所指代的量。
alias 直接实用
4.使用事项
set的实用范围最广,在环境变量定义的实际使用中,可以涵盖senenv的使用范围,并且也可以覆盖alias,但不如 alias在其使用范围内来得更简化。
5. 使用实例和验证方法
(1)
set path =(/usr/bin /usr/local/bin /sbin /bin usr/X11R6/bin $path)
相当于
setenv path "/usr/bin /usr/local/bin /sbin /bin usr/X11R6/bin $path"
但是应用setenv命令却定义path变量时,在某些linux系统中不能有效的完成path定义。
验证:如,建立 set path=/sbin 进而执行fdisk(fisk在/sbin路径下),结果可执行。
建立 setenv path /sbin 进而执行fdisk(fisk在/sbin路径下),结果不一定可执行。
(2)
setenv userhome1 /home/user/1dir
相当于
set userhome1 = /home/user/1dir
用set命令同样可以定义此类"名词性"变量,完全符合结果
验证:如,建立set h=/home, 进而执行 cd $h, 用pwd查看结果。
建立setenv h home, 进而执行 cd $h, 用pwd查看结果。
(3)
alias用来"动词性"语句的快捷方式,如,alias set60 "setenv DISPLAY 192.168.0.60:0"
alias c clear, 执行c验证结果,可行。
set d =pwd 执行$d验证结果,可行。
setenv d pwd 执行$d验证结果,可行。
6.延伸
以上均为cshrc环境变量,在linux下默认bsh,二者之间的在实际使用中的基本点如下:
(1). bsh和csh的不同
假如习惯了linux的bash,那么继续用。
如果厌倦了bash或者没用过任何shell,推荐用tcsh.
bsd的tcsh非常出色,尤其极其智能的命令历史回滚和Tab命令补全有机结合起来。
(2).如何变bsh为csh
修改/etc/passwd 文件中对应于用户的那一行的最后一项, 将'/bin/bash' 改为 '/bin/csh'
新建用户时,在linux中,会将所需的配置文件从/etc/skel拷贝到用户主目录中,/etc/skel保存着所有用户都共享的缺省文件,如.bashrc,.bash_profile

