命令 'which cd' 在 12.04 中不打印任何内容

命令 'which cd' 在 12.04 中不打印任何内容

该命令which cd不打印任何内容。whatis cd和 也一样whereis cd。 如何确定 cd 是别名、函数还是 bash 内置函数? 我使用的是 Ubuntu 12.04。

答案1

在 bash 中,which是一个外部实用程序。它只能查找外部命令:它不知道别名、内置命令或函数。whatis和 也是如此whereis

忘记which并改用type

$ type cd
cd is a shell builtin

内置函数没有自己的手册页(除非它们也作为外部实用程序存在,但这样您就会获得外部实用程序的文档,这些实用程序可能支持不同的选项)。它们记录在 bash 手册中。

也可以看看如何which在别名命令上使用?我的which命令可能有时是错误的?

答案2

man bash会告诉你。移至末尾,然后搜索BASH 内置命令。您可以从那里继续阅读。

答案3

列出所有 bash 别名:

alias

列出所有定义的函数名称:

typeset -F

要查看 bash 内置命令列表,请查看 bash 手册页。

您可能可以编写一个脚本来 grep 上述每个命令的输出。

相关内容