我找到了这个命令。我知道这个命令会重新加载bash配置文件并更正Ruby在Ubuntu上需要的权限问题。但是,在“&&”之前的部分是什么意思?
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
[[
和 ]]
允许使用更高级的功能,类似于传统编程语言,例如使用 ||
代替 -o
和 &&
代替 -a
。-s
不需要额外的功能,双方括号可以用单方括号代替)。
-s
用于测试文件是否存在且非空。
&&
会自动执行右侧的命令,只要左侧的命令没有出现错误返回代码。[[ ... ]] 部分允许使用运算符测试条件。可以将其视为 if 语句。在您的示例中,您使用了 -s 运算符,它测试所引用的文件是否为空。
因此,实质上,您发布的命令在 rvm 文件不为空的情况下获取源代码。
[[
是 Bash 内置的测试函数。 -s
如果以下文件的大小大于零,则返回 true。请参见 Bash 手册(条件构造)。向下滚动一点,找到 [[...]]