zoukankan      html  css  js  c++  java
  • shell中&&和||的使用方法_转

    shell中&&和||的使用方法

    &&运算符

    command1  && command2
    本质就是逻辑与,当左边执行成功时,执行&&右边;当左边执行不成功时,因为是逻辑与,没必要执行&&右边,即知执行结果为假。
    &&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。 
    语法格式如下:
        command1 && command2 [&& command3 ...] 
    1 命令之间使用 && 连接,实现逻辑与的功能。
    2 只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
    3 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。
     
    示例 1
    malihou@ubuntu:~$ cp ~/Desktop/1.txt ~/1.txt && rm ~/Desktop/1.txt && echo "success"
    示例 1 中的命令首先从 ~/Desktop 目录复制 1.txt 文件到 ~ 目录;执行成功后,使用 rm 删除源文件;如果删除成功则输出提示信息。

    ||运算符

    command1 || command2
    本质为逻辑或,当左边执行成功,没必要执行右边即知执行结果为真;当左边执行失败后,才执行右边以确认表达式执行结果。
    ||则与&&相反。如果||左边的命令(命令1)未执行成功,那么就执行||右边的命令(命令2);或者换句话说,“如果这个命令执行失败了||那么就执行这个命令。
    1 命令之间使用 || 连接,实现逻辑或的功能。
    2 只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。
    3 只要有一个命令返回真(命令返回值 $? == 0),后面的命令就不会被执行。
     
    示例 2
    malihou@ubuntu:~$ rm ~/Desktop/1.txt || echo "fail"
    在示例 2 中,如果 ~/Desktop 目录下不存在文件 1.txt,将输出提示信息。
     
    示例 3
    malihou@ubuntu:~$ rm ~/Desktop/1.txt && echo "success" || echo "fail"
    在示例 3 中,如果 ~/Desktop 目录下存在文件 1.txt,将输出 success 提示信息;否则输出 fail 提示信息。
     
    转自:http://blog.csdn.net/a627088424/article/details/20360107
    参考:http://blog.csdn.net/taiyang1987912/article/details/39551385
  • 相关阅读:
    申诉电信ADSL宽带限速
    回帖整理
    继续无题
    抛砖引玉,征集体会
    关于程序组织和组织技巧的学习
    周鸿祎行
    无题
    用此书为例讨论下软件思想的学习
    笔记
    方法论究竟为社区提供了什么
  • 原文地址:https://www.cnblogs.com/embedded-linux/p/6195676.html
Copyright © 2011-2022 走看看