what 命令
用途
显示文件中的标识信息。
语法
what [ -s] 路径名/文件。
描述
what 命令搜索指定的文件,查 找所有发生用 get 命令替换 @(#) 关键字母的模式 (参阅 get 或 prs 命令获取关于标识关键字的描述)。 根据约定,被替代的值是 "@(#)" (双引号、符号"@"、左括号、井号、右括号、双引号)。 如果没有指定文件,what 命令从标准输入读取。
内容 命令写入标准输出,无论该模式如何,最多但不包括第一个双引号 ("),大于符号 (>) ,换行符,反斜杠 (\) 或空字符。
what 命令应该和 get 命令配合使用,这样会自动 插入标识信息。 也可以对手动插入信息的文件使用 what 命令。
what 命令接受二进制文件中由编译器插入的命令行选项。 AIX® 编译器保存在二进制文件中的命令行选项可能包含反斜杠 (\) ,大于符号 (>) 或双引号 ("),在宏定义中。 what 命令按以下方式来写入由编译器保存的命令行选项。
在行首,如果模式 @(#) 后面跟着“opt”,而且无论 @(#) 和 opt 之间有无空格,what 命令都会写入直到位于行末的“\n”为止的所有字符。
例如,
- 对于 C 和 FORTRAN AIX 编译器,请使用 @ (#) opt (...)。
- 对于 C++ AIX 编译器,请使用 @ (#) opt (...)。
将在“@(#)”后面显示这一整行。
注: that 命令可能无法在可执行文件中找到 SCCS 标识字符串。
标志
| 项 | 描述 |
|---|---|
| -s | 仅搜索第一个出现的 @(#) 模式。 |
退出状态
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 找到所有匹配内容。 |
| 第 1 年 | 没有找到任何匹配内容。 |
示例
假设文件test.c包含包含以下行的 C 程序:
char ident[ ] = "@(#)Test Program";如果编译test.c生产test.o,然后命令:
what test.c test.o 显示:
test.c:
Test Program
test.o:
Test Program 注: 完整文件路径名usr/bin/test.c 和user/bin/test.o如果文件不在当前目录中,那么需要这些文件。
文件
| 项 | 描述 |
|---|---|
| /usr/bin/what | 包含 what 命令。 |