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

Tyl*_*itt 6 bash

我在Mac OS X上安装Ruby on Rails.我正在关注的教程说:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
Run Code Online (Sandbox Code Playgroud)

~/.bash_profile.

这条线做什么?

谢谢

jay*_*ngh 12

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

这部分是测试条件([[是新的测试命令).如果文件存在于位置,则-s返回.TRUErvm$HOME/.rvm/scripts/exists and is of size greater than zero

&&

这是一个逻辑and运算符.它执行右边的语句IF和ONLY IF语句在左边返回true.

. "$HOME/.rvm/scripts/rvm"

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