zoukankan      html  css  js  c++  java
  • linux中多个命令连接符— ; && || ()

    在Linux中执行命令时,一条条写一条条执行经常会感觉麻烦,短短几条命令也不值得去写一个shell脚本去执行,这时就可以使用linux中的命令连接符号进行执行多条命令

    这些连接符号有:;   &&  ||   ()

    1、  ; 

    1.1  格式:

    cmd1 ; cmd2 ; cmd3 [;...]

    1.2 含义

    分号(;)  可以进行多条命令的无关联执行,每一条执行结果不会影响其他命令的执行
     

    2、 &&

    2.1.格式

    command1 && command2

    2.2   含义

       &&左边的command1执行成功(返回0表示成功)后,&&右边的command2才能被执行。

    2.3   实例

    (1)当把文件sql.txt复制一份为sql.bak.txt成功,然后显示副本sql.bak.txt
     
    cp sql.txt sql.bak.txt && cat sql.bak.txt 
    Database        Size(MB)        Date Created
    --------------------------------------------
    GOSOUTH        2244            12/11/97
    TRISUD             5632             8/9/99

    3、 ||

    3.1  格式

     command1 || command2

    3.2  含义

       如果 || 左边的command1执行失败(返回1表示失败),才执行||右边的command2,否则不执行command2,具有短路功能。

    3.3  实例

    (1)打印1111.txt的第一列内容,若执行不成功则执行显示facebook.txt的内容
    awk '{print $1}' 1111.txt || cat facebook.txt   
    awk: cmd. line:1: fatal: cannot open file `1111.txt' for reading (No such file or directory)
    google 110 5000
    baidu 100 5000
    guge 50 3000
    sohu 100 4500
    (2)当打印1111.txt的第一列内容得命令被成功执行,则不执行打印facebook.txt的命令
    awk '{print $1}' facebook.txt || cat facebook.txt
    google
    baidu
    guge
    sohu

    4、 ()

    4.1.格式

    (command1;command2;command3;...)

    4.2 含义

    如果想执行几个命令,则需要用命令分隔符分号隔开每个命令,并使用圆括号()把所有命令组合起来。
    结合||和&&可以实现复杂的功能。

    4.3.实例

    (1)使用多个命令,如果sort命令执行成功,先将排序后的文件备份到/root/backup/目录下,然后再打印
    sort facebook.txt > facebook.txt.sorted && (cp facebook.txt.sorted /root/backup/facebook.txt.sorted;lp facebook.txt.sorted)
     
    (2)打印facebook.txt文件失败就发邮件告知root用户,并关机
    lp facebook.txt.sorted ||(echo "It was not submitted succuessfully" | mail root;init 0) 
    参考:http://www.51testing.com/html/65/364865-222881.html
     
     
  • 相关阅读:
    mysql命令集锦
    linux 删除文件名带括号的文件
    linux下的cron定时任务
    struts2文件下载的实现
    贴一贴自己写的文件监控代码python
    Service Unavailable on IIS6 Win2003 x64
    'style.cssText' is null or not an object
    "the current fsmo could not be contacted" when change rid role
    远程激活程序
    新浪图片病毒
  • 原文地址:https://www.cnblogs.com/liuyiyuan/p/13604985.html
Copyright © 2011-2022 走看看