【问题标题】:[[: Command not found[[: 找不到命令
【发布时间】:2011-01-28 17:47:19
【问题描述】:

我在没有 sudo 权限的系统上安装 RVM。理论上它应该可以正常工作,但是当我添加时

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

到 bash_profile,它没有做它应该做的事情,它给了我这个错误

[[: Command not found.

有人知道可能是什么问题吗?

【问题讨论】:

    标签: bash rvm


    【解决方案1】:

    "[[" .. "]]" 是内置的 bash。是否有另一个 shell 正在运行该脚本?

    【讨论】:

      【解决方案2】:

      看起来您的 .bash_profile 正在由 bash 以外的 shell 执行。

      【讨论】:

        【解决方案3】:

        将以下内容放在脚本的顶部:

        #!/bin/bash

        这将强制 bash 成为解释 shell。正如其他答案中提到的,[[ ]] 是一种 bashism 而不是 POSIX 语法。

        【讨论】:

          【解决方案4】:

          RVM (尚)不兼容 csh,仅支持 bash 和 zsh >= 4.3.5。

          (见http://rvm.io/rvm/prerequisites/

          【讨论】:

          • [[ ]] 是 bash 语法,而不是 csh,所以我不确定您的答案是什么意思。