4.3.2 TCSH和C Shell环境变量

2013-10-12 06:55:49 · 作者: · 浏览: 100

4.3.2 TCSH和C Shell环境变量

在TCSH和C Shell中,可以使用独立的定义命令setenv来定义环境变量。从这个角度而言,环境变量实际上是与常规的局部变量完全不同的变量类型。C Shell环境变量操作形式非常类似于一个全局变量。可以直接被任意子shell所引用。不同于Bourne、BASH和Korn shell之处在于,只存在环境变量的一个副本,并被所有子shell所使用。

为定义一个环境变量,必须在输入setenv命令之后输入变量名和变量值。不存在赋值操作符。在下面的范例中,定义环境变量myfile,并赋予值List。

  1. % setenv myfile list  
  2. dispfile  
  3. setenv myfile "List"  
  4. echo "Displaying $myfile"  
  5. cat -n $myfile  
  6. printfile  
  7. printfile  
  8. -----------------------------------  
  9. echo "Printing $myfile"  
  10. lpr $myfile & 

dispfile脚本的运行结果如下所示:

  1. % dispfile  
  2. Displaying List  
  3. 1 screen  
  4. 2 modem  
  5. 3 paper  
  6. Printing List  

在上面的范例中,在脚本dispfile中变量myfile被定义为环境变量。请注意,此处使用setenv命令,而不是set。现在,myfile可以在任意子shell中使用,比如当printfile脚本被执行时所创建的子shell。

当printfile被执行时,它能直接访问dispfile脚本中所定义的myfile变量。