代码之家  ›  专栏  ›  技术社区  ›  KansaiRobot

shell编程if条件意味着什么

  •  0
  • KansaiRobot  · 技术社区  · 4 年前

    我有一个脚本

    if [[ "${USE_HMI:=OFF}" == "OFF" ]]; then
    

    那是什么意思?我可以看出,这是比较平等的字符串“关”,但让我困惑的是“:”(我想这是一个assimment)到一个比较。。。

    有人能帮我解释一下吗?

    1 回复  |  直到 4 年前
        1
  •  3
  •   Lucas Mior    4 年前

    这意味着您将在默认情况下指定值 论环境变量 如果不设置USE\ HMI环境变量,则默认值为

    您可以在控制台上快速测试:

    # Null environment variable
    $ unset USE_HMI
    $ echo ${USE_HMI}
    
    # Print with default value
    $ echo ${USE_HMI:=OFF}
    OFF
    
    # Set value and print with default value
    $ export USE_HMI=ON
    
    # Default value will be ignored because you have set the environment variable
    $ echo ${USE_HMI:=OFF}
    ON