十五、Linux命令的执行顺序

       在执行某个命令时,有时需要依赖于前一个命令是否执行成功,如你需要将某个文件先拷贝到另一个目录后,将其删除。此时依赖于拷贝成功后,方可将原文件删除这就要求我们能控制命令的执行顺序。 此次,我们主要讲解如下内容:
           ◆ 命令执行顺序控制:&& 、 ||
           ◆ 命令组合:() 、{}

 

 

一、命令执行顺序控制

        1、&&
        ◆ 一般形式: 命令1 && 命令2
        ◆ 说明:只有当命令1执行成功,才执行命令2;否则不执行命令2

        ◆ 下面我们看一个例子:
                   cp -R ./dir ../  && rm -rf ./dir  
                   该例子表示,将当前目录下的dir目录及其子目录全部拷贝到上一级目录,如果该命令被成功执行,dir目录将会被删除;否则不被删除
   
       2、||

        ◆ 一般形式: 命令1 || 命令2
        ◆ 说明: 只有当命令1执行失败,才执行命令2;否则不执行命令2

        ◆ 下面我们看一个例子:
                  awk -F: '{print $1}' /etc/passwd > a.txt || cut -d: -f1 /etc/passwd   
                   该例子表示通过awk查看当前系统注册的用户,并写入到a.txt文件中;如果该命令执行失败,则通过cut查看系统注册的用户
      

       备注:

        可通过echo $? 查看上一个命令是否执行成功
        命令执行成功,返回0
        命令执行失败,返回1  
  

二、组合命令

         如果希望将几个命令结果在一起执行,shell提供了两种方法,即可以在当前shell,也可以在子shell中执行一组命令,如下:  


        1、()   
        ◆ 一般形式:(命令1;命令2;命令3...)
        ◆ 说明:表示括起来的一组命令,在当前shell中做为一个整体执行

        2、{}

        ◆ 一般形式: {命令1;命令2;命令3...}
        ◆ 说明:命令在相应的子shell中执行

        例子: rm -rf aaa || (echo "error,file not found" ; mkdir aaa)

 
       备注:

      我们很少单独使用(),{}通常与&&或||一起使用,可通过echo $$查看当前的shell ID号
        ◆ 重新开一个shell:输入bash即可
        ◆ 退出当前shell:   输入exit即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值