【发布时间】:2026-01-11 01:50:01
【问题描述】:
是否有(某种)可靠的方法来获取命令的“来源”,即使该命令是别名?例如,如果我把它放在我的 .bash_profile
alias lsa="ls -A"
我想从定义lsa 的命令行中知道,这可能吗?我知道which 命令,但这似乎并没有。
【问题讨论】:
-
你试过
type吗?它不显示定义的位置,但会显示定义。 -
@CarlNorum 你真的应该回答这个问题。
-
@kojiro,它并没有真正回答问题,这是关于 where 定义的问题。不过,我认为这将是有用的信息。
-
@CarlNorum
which也适用于别名 -
shell 跟踪定义函数的源文件和行号,但不跟踪别名。 (无论如何,您应该使用函数而不是别名,因为它们更加灵活;对于这个特定的别名,等效函数将是
lsa() { ls -A "$@"; })。