linux - [[ -s 在 linux shell 中是什么意思

标签 linux shell

我找到了这个命令。我知道源代码重新加载了 bash 配置文件并修复了 Ubuntu 所需的 Ruby 权限。但是 && 之前的部分是什么意思?

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

最佳答案

让我们分解一下:

[[]] 启用了与传统编程语言更相似的高级功能,允许使用 || 而不是 -o&& 而不是 -a

有关这方面的更多信息,请参阅 How to use double or single brackets, parentheses, curly braces但据我所知 -s 不需要额外的功能,双括号可以用单括号代替)

-s 测试文件是否存在且非空

&& 将自动运行右边的命令,只要左边的命令执行时没有错误返回码。

因此,该语句测试文件是否存在且非空,如果存在,它会将其 source 到当前 shell 环境中。

关于linux - [[ -s 在 linux shell 中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12868820/

相关文章:

linux - 页面缓存和模式切换

regex - 将正则表达式放在变量中

arrays - 如何在 BASH 中制作 3D 数组?

shell - "set -e"在 shell 和命令替换中

java - 如何调用 Linux shell 并为其设置 PATH?

bash - 使用 AWK 使用来自多个输入文件的字符串作为 CSV 文件中选择列的搜索条件

c++ - 在 Linux 中构建共享库时如何使链接器因 undefined reference 而失败

regex - 如何使用 sed 将第一个空格替换为空字符串

bash - 通过 Bash 传递命令行参数

android - 在命令行找到命令但在脚本中找不到