.cshrc

使用set和setenv命令可以设置shell选项或者列出shell变量
在C Shell 里, set 定义局部变量, setenv定义全局变量
 
1.set
 
set 变量名 = 内容: s2 E1 D! R. w- I+ T# ?
set 变量名 =(内容1 内容2 )& _8 M; k* g+ S# c7 l
set 变量名 ="内容1 内容2"
/ T! G" U. o8 o" O  a* S! H! J0 {
 
2. setenvg- i2 H6 p3 q1 @

setenv 变量名 内容3 n, f- D9 d" 8 N) Q: H9 [4 S
setenv 变量名 "内容1 内容2"2 D/ }+ w7 S- j( a2 M+ b7 v
setenv 变量名 '内容1 内容2'
3.alias
alias 化名称 原文件名! j6 F# P4 ~1 o8 S0 m
alias 简化名称 "原文件名 参数"9 J% R, x  o% e' p5 K


  e" w9 ~9 Z- P4 ^( N
3. 调用2 `% f% r$ Z; r+ z) I9 p

set 和setenv 在调用时均需要加"$"符号,表示调用变量所指代的量。$ j' U( ]4 h; ~) g0 y
alias 直接使用

4.使用事项2 [: g7 H% M3 k& g  A% q+ ?
1 K- U) g9 s7 E' g! C$ K
set的实用范围最广,在环境变量定义的实际使用中,可以涵盖senenv的使用范围,并且也可以覆盖alias,但不如 alias在其使用范围内来得更简化。


3 g: L$ f3 Q" E! f
5. 使用实例和验证方法" y1 W- c, `7 e% Z  r
(1)
                        B0 set path =(/usr/bin /usr/local/bin /sbin /bin usr/X11R6/bin $path)
, j  8 Y* I0 O. O8 W
setenv path "/usr/bin /usr/local/bin /sbin /bin usr/X11R6/bin $path"
 
但是应用setenv命令去定义path变量时,在某些linux系统中不能有效的完成path定义。
. X$ `" k+ i/ N5 t
验证:如,建立 set path=/sbin 进而执行fdisk(fisk在/sbin路径下),结果可执行。
建立 setenv path /sbin 进而执行fdisk(fisk在/sbin路径下),结果不一定可执行。
( j+ M6 ]9 C1 Q" G% U; 2 h' d; n
 
(2) setenv userhome1 /home/user/1dir. M  g! |6 Y1 X0 _! _! L: }3 Q
相当于
      set userhome1 = /home/user/1dir
用set命令同样可以定义此类"名词性"变量,完全符合结果T+x  w) I% s+ \% F8 i+ A8 `
( ~# B, z! s3 ! K0 }
验证:如,建立set h=/home, 进而执行 cd $h, 用pwd查看结果。. L; T; ~7 d. x. G* CJ  L$ I
建立setenv h home, 进而执行 cd $h, 用pwd查看结果。0 B5 l0 n- m/ ~$ ]2 T

(3)
alias用来"动词性"语句的快捷方式,如,alias set60 "setenv DISPLAY 192.168.0.60:0" 
alias c clear, 执行c验证结果,可行。
set d =pwd 执行$d验证结果,可行。% o. u, D$ M) O% A- L0 _
setenv d pwd 执行$d验证结果,可行。

6.延伸

以上均为cshrc环境变量,在linux下默认bsh,二者之间的在实际使用中的基本点如下:) ! j% D2 S' t; @( |* H
* K: i% K& M' S. Y; ]

(1). bsh和csh的不同5 I1 [  h5 }! |% A5 z0 E( A

假如习惯了linux的bash,那么继续用。 
% ^+ P3 j$ `. H. _) o" c
如果厌倦了bash或者没用过任何shell,推荐用tcsh. 

bsd的tcsh非常出色,尤其极其智能的命令历史回滚和Tab命令补全有机结合起来。

(2).如何变bsh为csh5 n0 Q6 k  F- c: p' ?% p3 _3 _

修改/etc/passwd 文件中对应于用户的那一行的最后一项, 将'/bin/bash' 改为 '/bin/csh'& J) k+ g* J$ H' j5 t5 h; i
, z9 G; t# U6 b: n9 Y
新建用户时,在linux中,会将所需的配置文件从/etc/skel拷贝到用户主目录中,/etc/skel保存着所有用户都共享的缺省文件,如.bashrc,.bash_profile



原文地址:https://www.cnblogs.com/gaoxianzhi/p/3255507.html