Linux脚本中的 &&

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

#








本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/07/19/2598676.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值