我正在一个没有which命令的Linux系统中工作。是否有其他方法可以找出 bash 中给定命令正在运行哪个可执行文件?它是一个超级基本的系统(想想 LFS),所以它没有 strace、dtrace 或类似的东西,只有内核、开发工具、核心实用程序和一些额外的软件包。有些命令需要长时间运行,因此 ps 在这里很有用,但有些命令几乎是瞬时运行的。
答案1
bash
有一个type
可以提供帮助的命令,类似于which
.
它可以报告命令、别名和函数
例如
bash-4.2$ type ls
ls is /usr/bin/ls
bash-4.2$ alias mycmd=foobar
bash-4.2$ type mycmd
mycmd is aliased to `foobar'
bash-4.2$ myfn()
> {
> echo foo
> }
bash-4.2$ type myfn
myfn is a function
myfn ()
{
echo foo
}