我尝试查找有关type
使用手册页和信息的命令
$ man type
No manual entry for type
info type
这是否只发生在我身上??为什么 Ubuntu 开发人员删除了type
命令手册页。他们有没有为命令制作过手册页type
?
答案1
如果你进入type type
你会发现
type is a shell builtin
因此,其文档位于man bash
。您无法从 获得说明,man type
但您可以从 获得说明(非常感谢@Rinzwind ),help type
并以与手册页相同的格式使用-m
选项,并将输出通过管道传输到less
help -m type | less
man bash
很长,可能更容易阅读这里,特别是关于bash 内置命令。
这是的条目type
,它告诉我们一个命令是什么类型的命令:
类型
type [-afptP] [name …]
对于每个名称,指示如果将其用作命令名称,它将如何解释。如果使用 -t 选项,则 type 会打印一个单词,该单词是 >'alias'、'function'、'builtin'、'file' 或 'keyword' 之一(如果 name 是别名、shell 函数、shell 内置、磁盘文件或 shell 保留字)。如果未找到名称,则不会打印任何内容,并且 type 返回失败状态。
如果使用 -p 选项,type 将返回将执行的磁盘文件的名称,如果 -t 不返回“文件”,则不返回任何内容。
-P 选项强制对每个名称进行路径搜索,即使 -t 不会返回“文件”。
如果命令是散列的,-p 和 -P 会打印散列值,该值不一定是 $PATH 中首先出现的文件。
如果使用 -a 选项,type 将返回包含可执行文件命名文件的所有位置。这包括别名和函数,当且仅当未使用 -p 选项时。
如果使用 -f 选项,type 不会像内置命令那样尝试查找 shell 函数。
如果找到所有名称,则返回状态为零,如果未找到任何名称,则返回非零。
例子:
$ type echo
echo is a shell builtin
$ type ls
ls is aliased to `ls --color=auto'
$ type sort
sort is /usr/bin/sort
$ type python
python is hashed (/usr/bin/python)
这个答案提供了一种非常巧妙的方法,man
通过向你的命令添加一个函数,使命令适用于 shell 内置命令~/.bashrc