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,如需转载请自行联系原作者

目录
相关文章
|
20天前
|
Ubuntu Linux
Linux(21) Linux自定义开机启动脚本或命令
Linux(21) Linux自定义开机启动脚本或命令
40 3
|
20天前
|
Linux Shell
嵌入式Linux系统脚本小技巧之启动脚本
嵌入式Linux系统脚本小技巧之启动脚本
20 2
|
20天前
|
运维 Java Shell
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
72 0
|
20天前
|
关系型数据库 MySQL Linux
Linux系统使用定时脚本备份mysql
Linux系统使用定时脚本备份mysql
|
20天前
|
存储 Shell Linux
Linux Bash 脚本中的 IFS 是什么?
【4月更文挑战第25天】
34 0
Linux Bash 脚本中的 IFS 是什么?
|
5天前
|
Linux Docker 容器
蓝易云 - 【Linux】如何在linux系统重启或启动时执行命令或脚本(也支持docker容器内部)
以上就是在Linux系统和Docker容器中设置启动时运行命令或脚本的方法。希望对你有所帮助。
75 0
|
15天前
|
运维 Linux 程序员
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
|
20天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
32 5
|
20天前
|
分布式计算 大数据 Hadoop
【经验分享】用Linux脚本管理虚拟机下的大数据服务
【经验分享】用Linux脚本管理虚拟机下的大数据服务
20 1
|
20天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
17 3