跳转至主要内容

若您曾在VOS系统上使用过POSIX shell(即"bash"),便知其可运行各类POSIX命令并运用bash提供的诸多实用技巧,例如输入输出重定向。但您是否知道,这些功能同样适用于众多VOS命令?

例如,若需将VOS的“list”命令与POSIX的“more”命令结合使用,请在bash中输入以下命令行:

列表 | 更多

若要将列表命令的输出导入文件,请输入:

列表 >列表.txt

这是因为VOS和POSIX都使用相同的底层VOS端口将输出写入终端或批处理文件。VOS的“default_output”端口相当于POSIX的“stdout”文件,而VOS的“default_input”端口则与POSIX的“stdin”文件相同。  最后,VOS的"terminal_output"端口(用于写入错误信息)与POSIX的"stderr"文件完全一致。

以下是一个(人为构造的)示例,展示如何在VOS命令中使用bash输入重定向。创建名为“line_edit.txt”的文件,其中包含以下两行内容:

打印 *
退出

然后,您可以按以下方式将这些 line_edit 请求应用于您的缩写文件:

line_edit abbreviations <line_edit.txt

请注意,bash 会在新的子进程中运行每个命令。子进程会继承父进程的所有 I/O 连接和状态,因此对大多数命令而言这不成问题。但任何修改进程环境的 VOS 命令都将无法达到预期效果。  例如,在bash内部执行set_library_paths命令会改变子进程的库路径;而该进程在命令终止后立即被销毁。若需修改bash的搜索路径,必须采用POSIX标准方法——即修改PATH环境变量。

希望这些技巧对您有所帮助。