【问题标题】:Some bash variables are being overwritten一些 bash 变量被覆盖
【发布时间】:2015-07-20 12:45:20
【问题描述】:

我在我的 Mac OSX 终端中使用bash-it。但是,最近我遇到了与 EDITORGIT_EDITOR 变量相关的问题。

在自定义 bash 文件中,我通过以下方式清楚地设置了这些变量:

# Make Sublime the default editor
export EDITOR="subl";
export GIT_EDITOR="subl --wait";

但是,有些东西正在覆盖这些变量,就像我做 export -p 时分配的值是:

declare -x EDITOR=" -w"
declare -x GIT_EDITOR=" -w"

我已经检查了其他源文件,看看它们是否被某个地方的插件覆盖,但没有运气。

不胜感激有关如何调试和修复此问题的任何指示。

谢谢

【问题讨论】:

标签: macos bash shell bash-it


【解决方案1】:

这是因为启用了 Bash-it 的 textmate plugin。它会尝试根据您的本地 textmate 安装定义 EDITORGIT_EDITOR 变量:

export EDITOR="$(which mate) -w"
export GIT_EDITOR=$EDITOR

如果您的路径上没有mate 命令,如果将变量设置为您所看到的,只需-w。这是 Bash-it 中的一个错误,围绕这些定义应该有一个 if 语句。我创建了一个pull request 来解决这个问题。

如果您不使用 TextMate,只需禁用 textmate 插件:

bash-it disable plugin textmate

然后打开一个新的 shell 窗口,一切准备就绪。

【讨论】:

  • 感谢@nwinkler,我通过调试设置这些变量的内容得到了这一点。禁用插件,现在一切都很好:)
  • 谢谢,很高兴听到。玩得开心 Bash-it,请随时在 GitHub 存储库上打开问题或贡献拉取请求。
猜你喜欢
  • 2020-01-14
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 2019-05-21
相关资源
最近更新 更多