是否有(某种程度上)可靠的方法来获取命令的“来源”,即使该命令是别名?例如,如果我将其放入我的 .bash_profile
alias lsa="ls -A"
而且我想从命令行了解 lsa
的定义位置,这可能吗?我知道 which
命令,但似乎并没有这样做。
最佳答案
正如 Carl 在他的评论中指出的,type
是找出名称定义方式的正确方法。
mini:~ michael$ alias foo='echo bar'
mini:~ michael$ biz() { echo bar; }
mini:~ michael$ type foo
foo is aliased to `echo bar'
mini:~ michael$ type biz
biz is a function
biz ()
{
echo bar
}
mini:~ michael$ type [[
[[ is a shell keyword
mini:~ michael$ type printf
printf is a shell builtin
mini:~ michael$ type $(type -P printf)
/usr/bin/printf is /usr/bin/printf
关于linux - 确定定义 UNIX 别名的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660962/