代码之家  ›  专栏  ›  技术社区  ›  Darth.Vader

bashshell选项-r

  •  0
  • Darth.Vader  · 技术社区  · 4 年前

    我不是shell脚本方面的专家,当我阅读bash脚本中的一行代码时,我发现:

    if [[ ! -r test.json ]]
    then
        printf "no test.json here\n" >&2
        exit 1
    fi
    

    这条线是什么 if [[ ! -r test.json ]] 选择做什么?从逻辑上看,它似乎在检查文件 test.json 不存在。我做了一些研究,以了解shell命令中确实提供了哪些选项,但我没有看到 -r 此处的选项: https://tldp.org/LDP/abs/html/options.html

    2 回复  |  直到 4 年前
        1
  •  1
  •   Raxi    4 年前

    -r 这是许多可能的论据之一 [ [[ bash构造(这里使用的就是它)。

    -r

    A. bash cheatsheet can be useful

        2
  •  1
  •   Barmar    4 年前

    您在文档的错误部分查找。这不是一个shell选项,而是一个 conditional expression 操作人员

    -r 文件
    如果正确 文件

    这个 ! 运算符反转条件,因此这会告诉您 test.json 不存在或不可读。

    推荐文章