该命令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 手册中。
答案2
man bash
会告诉你。移至末尾,然后搜索BASH 内置命令。您可以从那里继续阅读。
答案3
列出所有 bash 别名:
alias
列出所有定义的函数名称:
typeset -F
要查看 bash 内置命令列表,请查看 bash 手册页。
您可能可以编写一个脚本来 grep 上述每个命令的输出。