bash: [: rvm 稳定后参数太多

bash: [: too many arguments after rvm get stable

正如标题所说,在 运行 rvm get stable 代码 bash 之后,我开始出现错误 -bash: [: too many arguments。当我执行任何命令时都会弹出此错误,但正确执行命令。例如 lscd 将按预期执行,但随后打印出错误。

我是 运行 macOS Sierra。非常感谢任何帮助!

对于遇到此问题的任何人,我可以通过从 ~/.profile 和 ~/.bash_profile:[=11= 中删除以下代码行来阻止错误消息的显示]

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

这是通过更新 rvm 添加的,删除这些行后它仍在工作。

更新:这阻止了错误,但将我的 ruby 版本从 2.2 倒退到 2.0

我在 运行 宁 rvm get stable 之后遇到了同样的问题。

由于 rvm 需要 运行 在 shell 会话中作为一个函数,从您的 .bash_profile 或 [=14= 中删除行 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" ] 不是一个选项。

在我的环境中,原因是 bash-it 和 rvm 的旧安装之间存在冲突。如果您正在使用 bash-it 并遇到此问题,这可能会有所帮助。

我采取了以下步骤:

  1. 备份了我的 .bash_profile(如果您有 .bashrc,您可能也想备份它)。
  2. 运行 bash-it 的卸载脚本(参见上面 link 中的说明)并删除了 ~/.bash-it 文件夹。
  3. 已重新安装bash-it
  4. 根据我在第 1 步创建的 .bash_profile 备份添加到 .bash_profile 缺失的内容。
  5. 重新启用了我需要的 bash-it 别名、补全和插件。

我一打开新的 shell,就不再收到错误消息,rvm 开始正常工作。