If you don’t like this government, it won’t last forever.
全部博文(86)
分类: LINUX
2007-09-05 11:21:55
调用 C shell。
csh [ | ] [ | ] [ ] [ ] [ ] [ ] [ | | ] [ ] [ File [ Parameter ] ]
C shell 是一个交互式命令解释器和一种命令编程语言,采用的语法类似于 C 编程语言。shell 是交互式地从终端键盘或者是从一个文件来执行命令的。 这个 csh 命令调用了 C shell。
当调用 csh 命令时就会执行,这是通过查找根目录和执行命令从 .cshrc 文件(用来存储用户化的用户信息)中,执行的条件是命令存在。如果 csh 命令作为一个登录 shell 运行,就会从 .cshrc 和 .login 文件中执行命令。
当 shell 处理完标志参数后,如果 -i、-c、-s和 -t 标志都未被指定,并且 File [Parameter] 被指定,那么 shell 就会执行脚本文件,此文件指定于 File [Parameter],包含了任何指定的参数。指定的脚本文件必须拥有读取权限;shell 忽略了 任何 setuid 和 setgid 设置。
注意: 不应指定一个脚本文件如果采用的 csh 命令含有 -c 或 -s 标志。
如果指定一个脚本文件,这个命令打开文件和保存脚本文件,可能的再置命名是换通过 $0 (美元符号,0)。脚本的执行是通过 csh。保持参数初始化 argv 变量。
注意:
- 如果 C shell 已经运行,.cshrc 文件可被再次读取通过输入 源 路径名,其中路径名参数是一个路径,此路径通向 .cshrc 文件。
- 为避免远程操作出现问题, .cshrc 文件不应包含任何功能,这些功能返回输出,如果它们没有测试 $prompt 变量,此变量说明 shell 是交互式的。否则,每当一个远程系统使用 exec 命令在本地系统进行命令发送,命令和 shell 均被执行。示例, exec csh rcp -t 文件名执行 .cshrc 文件和处理返回的输出作为所期望的响应。一个 if 句子可用来检查 $prompt 变量。
如果最初的 shell 的参数是一个 -(负号),此 shell 就是一个登录 shell。C shell 标志被解释如下:
-b | 强迫选项处理中断,会引起任何增进 shell 参数被处理为无选项参数。这个标志可用来传送选项到一个 shell 脚本,而不会引起混淆和可能的欺骗。此 shell 不能运行真实和有效用户和组标识与这个标志不同的脚本。 |
-c | 从以下单个自变量中读取命令,此参数必须出现。 任一剩余的参数放在 argv 变量中。 |
-e | 如果任一受调用命令异常结束或产生非零退出状态则退出。 |
-f | 启动 C shell 不需要从位于主目录下的 .cshrc 文件搜索或运行命令。 |
-i | 提示它的最高层输入(一个交互式 shell),甚至如果输入并不是来自于工作站。 如果 shell 的输入、输出与工作站连接,shell 是交互的,不需要此标志。 |
-n | 语法分析命令但并不运行它们。这个标志帮助进行 shell 步骤的语法检查。 |
-s | 以标准输入执行命令输入。 |
-t | 读取和处理输入的单行。在当前行的末尾并继续到下一行时,可以采用一个 \ (反斜杠) 转义新一行的字符。 |
-V | 序变量在 .cshrc 文件运行以前设置 verbose 外壳程。 |
-v | 设置 verbose shell 变量,使命令输入在历史置换后被返回。 |
-X | 即使在 .cshrc 文件运行以前也设置 echo shell 变量。 |
-x | 设置 echo shell 变量,使命令在所有置换后和立即运行以前被返回。 |
$HOME/.cshrc | 在执行开始时由每个 shell 读取。.cshrc 文件是用户定义的。 |
$HOME/.login | 登录时在 .cshrc 文件之后由登录 shell 读取。 |
$HOME/.logout | 在注销时由登录 shell 读取。 |
/usr/bin/sh | 包含缺省 shell 的路径。 |
/tmp/sh* | 包含临时文件用于 <<。 |