WHEREIS命令不在AIX中返回结果

时间:2015-01-12 22:34:08

标签: unix aix

环境:AIX 5

使用 whereis 不会返回我要查找的源/二进制文件的文件名。

例如:

  

whereis FILE

返回

  

whereis:

还尝试使用合适的命令选项(-b,-m,-s)进行上述命令..仍然是相同的结果。

任何人都知道修改此命令的语法以适应AIX Unix风格所需的更改。

建议非常感谢。

1 个答案:

答案 0 :(得分:0)

我希望那些提出有关AIX问题的人会提出他们正在运行的AIX版本。

whereis适用于我的6.1机器和我的5.3机器。我通常使用type。它是在ksh和bash中,它是内置的。这是我做过的一些命令的日志:

type whereis
whereis is /bin/whereis

whereis whereis
whereis: /usr/bin/whereis

哪个档案集在哪里?

lslpp -w /usr/bin/whereis
  File                                        Fileset               Type
  ----------------------------------------------------------------------------
  /usr/bin/whereis                            bos.rte.commands      File

确定。我有什么级别的文件集?

lslpp -ch bos.rte.commands
#Path:Fileset:Level:PTF Id:Action:Status:Date:Time
/usr/lib/objrepos:bos.rte.commands:6.1.8.16::APPLY:COMPLETE:12/26/13:14;44;04
/etc/objrepos:bos.rte.commands:6.1.8.16::APPLY:COMPLETE:12/26/13:14;44;08

我认为whereis用作脚本但在我的主机上它们是二进制可执行文件。这是我的5.3主机上what的输出:

what /usr/bin/whereis
/usr/bin/whereis:
        61      1.14  src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos530 7/11/00 12:04:14
        93      1.13  src/bos/usr/bin/whereis/whereis.c, cmdscan, bos53H, h2005_32B1 7/6/05 08:53:01

来自我的6.1主持人:

what /usr/bin/whereis
/usr/bin/whereis:
        61      1.16  src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:21
        93      1.13.1.1  src/bos/usr/bin/whereis/whereis.c, cmdscan, bos610 2/11/07 14:12:18

如果SHELL环境变量涉及所有这些,我不会感到惊讶,因此您可能会看到它是否设置为奇怪的。我将SHELL设置为/usr/bin/ksh,然后我将.kshrc执行人员转到bash。 AIX上的某些脚本顶部没有#!/usr/bin/ksh,这会导致一些问题。在这个日子里,我有一段时间没有碰到过。

我很好奇你发现了什么。我很好奇你正在运行什么级别的AIX。

祝你好运