问题描述
如果您使用的是 Bash 或 zsh,请使用以下命令:
type -a lshw
这将显示目标是内置、函数、别名还是外部可执行文件。如果是后者,它将显示它出现在您的PATH
.
bash$ type -a lshw
lshw is /usr/bin/lshw
bash$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
bash$ zsh
zsh% type -a which
which is a shell builtin
which is /usr/bin/which
在 Bash 中,for 函数type -a
也会显示函数定义。你可以declare -f functionname
用来做同样的事情(你必须将它用于
zsh,因为type -a
没有)。
解决方法
我知道,当您在 shell 上时,唯一可以使用的命令是可以在 PATH 上设置的某个目录中找到的命令。即使我不知道如何查看我的 PATH
变量上的目录(这是另一个可以回答的好问题),我想知道的是:
我来壳写:
$ lshw
我想知道 shell 上的一个命令,它可以告诉我这个命令的位置。换句话说,这个“可执行文件”在哪里?
就像是:
$ location lshw
/usr/bin