在 UNIX 和 Linux 系统上捕获屏幕快照和程序交互: 第 1 部分,程序交互
2010-10-09 08:53:20 来源:WEB开发网为什么要捕获命令行输入和输出?
很多命令行 UNIX 和 Linux® 命令的在线参考信息(手册页)是关于这些命令的信息的主要来源。所有手册页都被期望解释给定命令所有可用的选项,很多还提供与程序输出相关的例子,包括任何程序提示和相关用户输入。
要获得这样的信息,必须有人来创建这些例子。阅读源代码以查看所有可能的用户提示及其显示的内容,通常没有简单地运行程序看它做些什么来的直观。要将此体验转换成文档,开发人员(或者创建应用程序参考信息的作者)发现保存程序输入、提示和响应这些提示的用户输入的完整记录是非常有用的。
捕获用户与命令行应用程序的交互不只是一个写数据的任务。大多数命令行应用程序开发人员使用 C 编程语言的 printf() 命令(或者其他语言中的等价命令)作为他们的初始调试工具,即用它来显示整个应用程序中不同变量和数据结构的内容。根据显示信息的总量,通常最容易的方式是,将输出捕获到文件中,以备后续检查和分析。类似地,系统管理员通常喜欢保存交互式系统或服务器配置和初始化的逐步记录。
接下来几节探索各种捕获用户与命令行应用程序交互的方式,涉及到使用包含在所有 UNIX 和 Linux shell 中的特性,以及使用特定工具来自动化捕获这种类型的信息。
捕获输出和错误消息
UNIX 和 Linux 系统使得将程序输出和错误捕获在单独的文件中很容易,使用内置在这些系统上使用的命令解释器(叫做shell)中的功能即可做到。这些功能叫做 shell 重定向,允许用户通过使用尖括号字符或数字标识符,将程序输出(叫做 标准输出 或 stdout)和程序错误输出(叫做 标准错误 或 stderr)重定向到特定的文件或其他目的文件。不同的 shell 使用稍微不同的语法来捕获程序输出和错误消息,如下所示:
更多精彩
赞助商链接