变量是在运行它们时将信息从shell传递到程序的一种方式。程序在环境中查找特定变量,如果发现它们将使用存储的值。一些由系统设置,其他由您设置,其他由shell设置,或任何加载另一个程序的程序。
标准UNIX变量分为两类,环境变量和外壳变量。从广义上讲,shell变量仅适用于shell的当前实例,用于设置短期工作条件; 环境变量具有更远的意义,并且在登录时设置的那些变量在会话的持续时间内有效。按照惯例,环境变量具有UPPER CASE,shell变量具有小写名称。
环境变量的一个示例是OSTYPE变量。这是您使用的当前操作系统的值。类型
%echo $ OSTYPE
更多环境变量的例子是
ENVIRONMENT变量使用setenv命令设置,使用printenv或env命令显示,并使用unsetenv命令取消设置。
要显示这些变量的所有值,请键入
%printenv | less
shell变量的一个示例是历史变量。这个值是要保存的shell命令的数量,允许用户向后滚动通过他们以前输入的所有命令。类型
%echo $ history
shell变量的更多示例是
SHELL变量都使用set命令设置和显示。可以使用unset命令取消设置。
要显示这些变量的所有值,请键入
%set | less
通常,除了可能具有相同的初始值之外,具有相同名称(除了情况)的环境和shell变量是独立和独立的。但是,有例外。
每次shell变量home,user和term都被改变,相应的环境变量HOME,USER和TERM接收相同的值。但是,更改环境变量对相应的shell变量没有影响。
PATH和路径指定搜索命令和程序的目录。这两个变量始终表示相同的目录列表,并且更改或自动导致另一个更改。
每次登录到UNIX主机时,系统都会在主目录中查找初始化文件。这些文件中的信息用于设置您的工作环境。C和TC shell使用两个称为.login和.cshrc的文件(注意两个文件名以一个点开头)。
在登录时,C shell首先读取.cshrc,后跟.login
.login是设置将应用于整个会话并执行仅在登录时相关的操作的条件。
.cshrc用于设置条件并执行特定于shell和每次调用它的操作。
指南是在.login 文件中设置ENVIRONMENT变量,在.cshrc文件中设置SHELL变量。
警告:切勿在.cshrc或.login文件中放置运行图形显示(例如Web浏览器)的命令。
例如,要更改历史记录列表中保存的shell命令的数量,您需要设置shell变量历史记录。默认情况下,它设置为100,但如果您愿意,可以增加此值。
%set history = 200
检查这通过键入工作
%echo $history
但是,这只设置了当前shell的生命周期的变量。如果打开一个新的xterm窗口,它将只设置默认的历史值。要PERMANENTLY设置历史记录的值,您需要将set命令添加到.cshrc文件。
首先在文本编辑器中打开.cshrc文件。一个容易,用户友好的编辑器使用是nedit。
%nedit ~/.cshrc
在其他命令列表之后添加以下行。
设置历史= 200
保存文件并强制shell使用shell source命令重新读取其.cshrc文件buy。
%source .cshrc
检查这通过键入工作
%echo $history
当您键入命令时,您的路径(或PATH)变量定义外壳将在哪些目录中查找您键入的命令。如果系统返回一条消息:“command:Command not found”,则表示该命令在系统上根本不存在,或者根本不在您的路径中。
例如,要运行单位,您需要直接指定单位路径(〜/ units174 / bin / units),或者需要 在路径中有目录〜/ units174 / bin。
您可以 通过发出以下命令将其添加到现有路径的末尾($路径代表此路径):
%set path = ($path ~/units174/bin)
通过尝试在除了单元实际所在的任何目录中运行单元来测试这是否工作。
%cd
%units
要添加此路径PERMANENTLY,请将以下行添加到.cshrc之后的其他命令列表。
set path = ($path ~/units174/bin)
英语原文