what 命令

用途

显示文件中的标识信息。

语法

what [ -s] 路径名/文件

描述

what 命令搜索指定的文件,查 找所有发生用 get 命令替换 @(#) 关键字母的模式 (参阅 getprs 命令获取关于标识关键字的描述)。 根据约定,被替代的值是 "@(#)" (双引号、符号"@"、左括号、井号、右括号、双引号)。 如果没有指定文件,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 命令。