我找到了这个命令。我理解源重新加载bash配置文件和Ubuntu所需的Ruby权限的固定权限。但是之前和之前的部分是什么?意思?
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
答案 0 :(得分:3)
[[...]]部分允许使用运算符测试条件。将其视为if语句。在您的示例中,您使用的是-s运算符,它测试引用的文件不为空。
因此,基本上,如果rvm文件不为空,那么您发布的命令会提供源代码
答案 1 :(得分:3)
让我们分解一下:
[[
和]]
启用与传统编程语言更相似的高级功能,允许使用||
而不是-o
和&&
等结构代替-a
。
有关详细信息,请参阅How to use double or single brackets, parentheses, curly braces,但据我所知,-s
不需要额外的功能,双括号可以替换为单括号)
-s
测试文件是否存在且非空
&&
将自动运行右侧的命令,只要左侧的命令执行时没有错误返回码。
因此,该语句测试该文件是否存在且非空,如果是,则将其导入当前的shell环境。
答案 2 :(得分:1)
[[
是bash内置测试函数。如果以下文件的大小大于零,则-s
返回true。见man bash (Conditional Constructs)。向下滚动一点[[...]]