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

保存在bash变量中的条件[重复]

  •  0
  • Wonay  · 技术社区  · 8 年前

    这个问题已经有了答案:

    是否可以在bash中保存变量内条件的结果?

    类似:

    IS_DEV=$[[ "$ENV" = "$DEV" ]]
    

    用 ENV=$1 和 DEV="development" .

    然后可以多次使用它:

    if $IS_DEV; then
        ...
    fi
    

    谢谢您。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Charles Duffy    8 年前

    代码应该存储在函数中,而不是变量中; BashFAQ #50 详细介绍否则会带来的危险。

    # aside: don't use upper-case names for your own variables. ENV, specifically, is reserved
    # per http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
    is_dev() { [[ $ENV = "$DEV" ]]; }
    
    if is_dev; then
    

    相反,如果要存储结果:

    if [[ $ENV = "$DEV" ]]; then is_dev=1; else is_dev=0; fi
    
    if (( is_dev )); then ...
    
    推荐文章