rksh 命令
用途
调用受限版本的 Korn shell 程序。
语法
rksh [ -i ] [{ + | - } { a e f h k m n p t u v x }] [ -o 选项 ... ] [ -c 字符串 | -s | 文件 [ 参数 ]]
注: 使用 + (加号) 而不是 - (减号) 将标志关闭。
描述
rksh 命令调用受限版本的 Korn shell 程序。 它允许管理员将受控 shell 环境提供给用户。 还有一个受限版本的 rksh 可用于增强型 Korn shell 程序,称为 rksh93。
如果使用受限 shell 程序,用户则无法:
- 更改当前工作目录。
- 设置 SHELL、ENV 或 PATH 变量值。
- 指定包含 / (斜杠) 的命令的路径名。
- 使用 > (右插入标记) , >| (右插入标记,管道符号) , <> (左插入标记,右插入标记) 或 >> (两个右插入标记) 来重定向命令输出。
标志
| 项 | 描述 |
|---|---|
| -a | 自动地导出所有定义的后继参数。 |
| -c 字符串 | 使 Korn shell 程序从 String 变量读取命令。 此标志不能同 -s 标志或 File[ Parameter] 参数一起使用。 |
| -e | 如果已设置,那么执行 ERR 陷阱,如果命令具有非零退出状态,那么退出。 读取概要文件时禁用此方式。 |
| -f | 禁用文件名替换。 |
| -h | 首次遇到时指定每个命令作为跟踪的别名。 |
| -i | 表示 shell 是交互式的。 如果 shell 输入和输出连接到终端(由 ioctl 子例程确定),那么也表示交互式 shell。 在这种情况下,那么忽略 TERM 环境变量(这样 kill 0 命令将不杀死交互式 shell)并捕获和忽略 INTR 信号(这样可以中断等待状态)。 在所有情况下,shell 将忽略 QUIT 信号。 |
| -k | 将命令的所有参数分配参数放置到环境中,而不仅仅是命令名前面的那些参数。 |
| -m | 在单独的进程中运行后台作业,并在完成时显示一行。 完成消息中报告了后台作业的退出状态。 在带有作业控制的系统上,将为交互式 shell 自动打开此标志。 |
| -n | 读取命令并检查它们以发现语法错误,但是不执行它们。 忽略交互式 shell 的此标志。 |
| -o 选项 | 如果未指定参数,那么显示当前选项设置和错误消息。 可以使用此标志来启用以下任一选项:
可以在单个 rksh 命令行上设置多个选项。 |
| -p | 将 shell 用作登录 shell 程序时禁用 $HOME/.profile 文件。 |
| -s | 使 rksh 命令从标准输入读取命令。 Shell 输出 (特殊命令的输出除外) 将写入文件描述符 2 中。 此参数不能与 -c 标志一起使用,也不能与 文件[参数] 参数一起使用。 |
| -t | 读取并执行一条命令后退出。 |
| -u | 替换时将 unset 参数作为错误。 |
| -v | 读取 shell 输入行时显示它们。 |
| -x | 显示已执行的命令及其参数。 |
文件
| 项 | 描述 |
|---|---|
| /usr/bin/rksh | 包含受限 Korn shell 程序的路径名。 |
| /tmp/sh* | 包含当 shell 打开时所创建的临时文件。 |