zoukankan      html  css  js  c++  java
  • Linux脚本中的 &&

    磨砺技术珠矶,践行数据之道,追求卓越价值  

    回到上一级页面:PostgreSQL杂记页    回到顶级页面:PostgreSQL索引页

    作者:高健@博客园 luckyjackgao@gmail.com

    PostgreSQL的configure 脚本中有:

    if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
      emulate sh
      NULLCMD=:
      # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
      # is contrary to our usage.  Disable this feature.
      alias -g '${1+"$@"}'='"$@"'
      setopt NO_GLOB_SUBST
    else
      case `(set -o) 2>/dev/null` in
      *posix*) set -o posix ;;
    esac
    
    fi

    首先,对其中的 && 进行了解。

    && 有两种含义:

    一个是 逻辑与。

    这里是另一个含义:如果前面的命令正确执行,那么后面的命令也将执行。否则后面的命令不执行。

    简单验证如下:

    #abc && ls
    bash: abc: command not found
    #
    #pwd && ls
    /root
    install.log  Desktop
    #
    test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; 中,
    test -n "${ZSH_VERSION+set}" 是一个命令,如果它执行成功,则
    (emulate sh) >/dev/null 2>&1;也将执行。

    而 test -n "${ZSH_VERSION+set}" 返回空值,相当于失败。
    #test -n "${ZSH_VERSION+set}
    #
    
    #test -n "${ZSH_VERSION+set}  && ls
    #
     

    作者:高健@博客园 luckyjackgao@gmail.com

    回到上一级页面:PostgreSQL杂记页    回到顶级页面:PostgreSQL索引页

    磨砺技术珠矶,践行数据之道,追求卓越价值  

  • 相关阅读:
    Python之数据类型
    Python之变量
    第01组Alpha冲刺总结
    第01组 Alpha冲刺(6/6)
    第01组 Alpha冲刺(5/6)
    第01组 Alpha冲刺(4/6)
    第01组 Alpha冲刺(3/6)
    第01组 Alpha冲刺(2/6)
    第01组 Alpha冲刺 (1/6)
    第01组(17) 需求分析报告
  • 原文地址:https://www.cnblogs.com/gaojian/p/2598676.html
Copyright © 2011-2022 走看看