ksh 命令

用途

调用 Korn shell。

语法

克什 [ -我 ] [ { + | - } { A. E F H M N P X } ] [ -o 选项 ... ] [ -c 字符串 | -s | - | 文件 [ 参数 ] ]

注:+ (加号) 而不是 - (减号) 放在标志前面会关闭该标志。

描述

ksh 命令调用 Korn shell,此 shell 是一个交互命令解释器和命令编程语言。 这个 shell 可交互式地从终端键盘或从一个文件中执行命令。

Korn shell 是与 Bourne shell(用 bsh 命令调用)向后兼容的,并且包含大部分的 Bourne shell 的特点和几个 C shell 的最好特点。

注: 内置 克什 等待的行为方式与 父等待 () API 相似。

Korn shell 程序的增强版本 (称为 ksh93) 也可用。 增强版 Korn shell 具有缺省 Korn shell 未提供的一些附加功能。

此外,还提供了名为 rksh的受限版本的 Korn shell 程序。 受限 Korn shell 允许管理员为用户提供受控的执行环境。

标志

描述
自动地导出所有定义的后继参数。
-c 字符串 使 Korn shell 程序从 String 变量读取命令。 此标志不能同 -s 标志或 File[ Parameter] 参数一起使用。
-e 执行 ERR 陷阱(如果设置了该陷阱),并在命令有一个非零退出状态时退出,除非出现以下情况:
  • 简单命令包含在“&&”或“||”列表中。
  • 简单命令紧跟在“if”、“while”或“until”之后。
  • 简单命令包含在 "!" 之后的管道中。
读取概要文件时,将禁用此方式。
-f 禁用文件名替换。
-h 首次遇到时指定每个命令作为跟踪的别名。
-一 表示 shell 是交互式的。 如果 shell 输入和输出连接到终端(由 ioctl 子例程确定),那么也表示交互式 shell。 在这种情况下,那么忽略 TERM 环境变量(这样 kill 0 命令将不杀死交互式 shell)并捕获和忽略 INTR 信号(这样可以中断等待状态)。 在所有情况下,shell 将忽略 QUIT 信号。
-k 将命令的所有参数分配参数放置到环境中,而不仅仅是命令名前面的那些参数。
-M 在单独的进程中运行后台作业,并在完成时显示一行。 完成消息中报告了后台作业的退出状态。 在带有作业控制的系统上,将为交互式 shell 自动打开此标志。
-n 读取命令并检查它们以发现语法错误,但是不执行它们。 忽略交互式 shell 的此标志。
-o 选项 如果未指定参数,那么显示当前选项设置和错误消息。 可以使用此标志来启用以下任一选项:
allexport
-a 标志相同。
errexit
-e 标志相同。
bgnice
以较低优先级运行所有的后台作业。 这是缺省方式。
emacs
进入 emacs 风格的内联编辑器输入命令。
gmacs
输入命令条目的 gmacs 风格的行内编辑器。
ignoreeof
在它遇到文件结束符时不退出 shell。 必须使用 exit 命令,或者通过按下 Ctrl-D 键序列超过 11 次来覆盖此标志并退出 shell。
keyword
-k 标志相同。
markdirs
/(斜杠)附加到所有目录名,这些目录名是文件名替换的结果。
监控
-m 标志相同。
noclobber
防止重定向截断现有文件。 指定此选项时,请使用重定向符号 >| (右插入标记,竖线符号) 来截断文件。
noexec
-n 标志相同。
noglob
-f 标志相同。
nolog
防止在历史文件中保存函数定义。
nounset
-u 标志相同。
privileged
-p 标志相同。
verbose
-v 标志相同。
trackall
-h 标志相同。
vi
进入 vi-style内联编辑器的插入模式,输入命令。 输入转义字符 033 将编辑器放入移动方式。 返回发送此行。
viraw
以 vi 方式输入字符时处理每一个字符。
xtrace
-x 标志相同。

在一个单独的 ksh 命令行中可设置多个选项。

-p 将 shell 用作登录 shell 程序时禁用 $HOME/.profile 文件。
-r 运行一个受限制的 shell。 对一个受限制的 shell,不能:
  • 更改当前工作目录。
  • 设置 SHELLENVPATH 变量的值。
  • 指定包含 /(斜杠)的命令的路径名。
  • 使用 > (右插入标记) , >| (右插入标记,管道符号) , <> (左插入标记,右插入标记) 或 >> (两个右插入标记) 重定向命令的输出。
使用此标志与发出 rksh 命令相同。
-s 使 ksh 命令从标准输入读取命令。 Shell 输出 (特殊命令的输出除外) 将写入文件描述符 2 中。 此参数不能与 -c 标志一起使用,也不能与 文件[参数] 参数一起使用。
-t 读取并执行一条命令后退出。
-U 替换时将 unset 参数作为错误。
-v 读取 shell 输入行时显示它们。
-x 显示已执行的命令及其参数。

文件

描述
/usr/bin/ksh 包含到 Korn shell 的路径名。
/tmp/sh* 包含当 shell 打开时所创建的临时文件。