【问题标题】:How to find which actual command is executed in terminal如何查找在终端中执行的实际命令
【发布时间】:2016-08-31 23:15:41
【问题描述】:

我有一个名为 gb 的命令(Go 替代构建命令)位于 ${HOME}/App/bin 并且位于“PATH”中。

当我检查它时:

which gb

它返回正确的位置${HOME}/App/bin/gb

我还检查了别名

alias | grep gb

它什么也不返回。

但是当我从终端运行gb 命令时

$ gb

它总是返回git branch 命令的结果。

只想知道如何找出导致gb 命令劫持的原因?

【问题讨论】:

  • type 是正确的——但也值得考虑(set -x; gb),它将显示函数在实践中运行的实际命令(而type gb 将显示其定义)。
  • ...一般来说,which 根本不适合使用——作为一个外部命令,它无法知道你的 shell 的内部状态。

标签: linux git bash command alias


【解决方案1】:

这取决于你的外壳,但可能是type gb(或type -a gb)。

【讨论】:

  • type -a gb 也可能更有用command -v gb 和/或command -V gb
  • 如果 gb 返回一个 GIT 子命令,那么您在某个地方设置了一个 GIT 别名而不是 bash 别名。发生此问题时,您是否在 GIT 存储库中?如果是这样,如果你运行:#> git config -l grep alias,会发生什么?
猜你喜欢
  • 2022-01-06
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 2017-08-18
  • 2018-04-09
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多