[[-s“$ HOME / .rvm / scripts / rvm”]]&& 。 “$ HOME / .rvm / scripts / rvm”:它做了什么?

时间:2012-01-24 22:54:28

标签: bash

我在Mac OS X上安装Ruby on Rails。我正在遵循的教程说:

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

~/.bash_profile

这条线做什么?

由于

3 个答案:

答案 0 :(得分:12)

<强> [[ -s "$HOME/.rvm/scripts/rvm" ]]

此部分是测试条件([[是新的测试命令)。如果文件-s出现在TRUE位置 rvm,则 $HOME/.rvm/scripts/ 会返回 exists and is of size greater than zero 即可。

&&

这是一个合乎逻辑的 and 运算符。它执行右侧的语句 IF并且只有左侧的语句返回true。

<强> . "$HOME/.rvm/scripts/rvm"

.source命令的缩写。您是在当前shell中获取文件而不是分支新的子shell

答案 1 :(得分:1)

检查文件是否存在且大小是否大于零,如果是,则执行文件。

该文件为"$HOME/.rvm/scripts/rvm。 $ HOME是一个变量,通常设置为homedir(~),类似于/home/youruser。在该目录中,您应找到一个隐藏文件夹.rvm,其中包含一个文件夹脚本,其中包含一个名为rvm的可执行文件。

答案 2 :(得分:1)

我刚刚安装了rvm并运行rvm notes作为shell命令。除了其他有用信息之外,输出还包括以下几行。

  
      
  • 如果您希望在其他shell中以交互方式使用RVM   然后将以下行放在shell的加载文件的末尾   (.bashrc或.bash_profile用于bash,.zshenv用于zsh),   在所有PATH /变量设置之后:

         

    [[ -s "/home/username/.rvm/scripts/rvm" ]] && source "/home/username/.rvm/scripts/rvm" # This loads RVM into a shell session.

  •   

我想查看最新的发行说明总是一个好主意。

此外,我发现“How to use RVM”截屏非常有帮助!它还包括在最初几分钟内有关您的问题的信息。