【概述】

通常情况下,我们每次只能在终端输入一条命令,按下回车执行,执行完成后,我们再输入第二条命令,然后再按回车执行……

当有我们会一次输入多条命令,或者有选择性的执行命令时,我们可以用特定的语法结构来实现命令的执行顺序的控制问题。

【顺序执行多条命令】

简单的顺序执行,可以使用 ; 来完成。

实例:

当我们需要使用 apt-get 安装一个软件,然后安装完成后立即运行安装的软件,而恰巧主机刚更换的软件源还没有更新软件列表,那么会有如下一系列操作:

$ sudo apt-get update
# 等待——————————然后输入下面的命令
$ sudo apt-get install some-tool //这里some-tool是指具体的软件包,例如:banner
# 等待——————————然后输入下面的命令
$ some-tool

如果想一次性输完,然后让他依次执行各命令,可以使用 ; 在多条命令之间分隔。

$ sudo apt-get update;sudo apt-get install some-tool;some-tool

【有选择的执行命令】

如果我们在让自动顺序执行命令时,前面的命令执行不成功,而后面的命令又依赖于上一条命令的结果,那么就会造成花了时间,最终却得到一个错误的结果,而且有时候还无法判断结果是否正确。

因此我们需要能够有选择性的来执行命令,例如:上一条命令执行成功才继续下一条、上一条命令不成功时又该做出什么处理等。

同 C 语言中的逻辑与 && 和逻辑或 || 相同,在 Linux 里的 Shell 中,也同样存在逻辑与 && 和逻辑或 || ,但与 C 语言不同的是,Shell 中的这两个符号,除了也可用于表达逻辑与和逻辑或之外,还可以实现命令执行顺序的简单控制。

在实现命令执行顺序的简单控制时,&& 与 || 是根据其前面的命令执行结果来进行判断的。

&& 表示如果前面的命令执行结果为 0 时,则执行后面的命令,否则不执行

|| 有着与 && 相反的控制效果,其表示当前面的命令执行结果为 1 时,则执行它后面的命令,否则不执行

如果想知道上一次命令的返回结果,可以使用 echo $? 获取结果。

如果执行成功,结果为 0

如果执行不成功,结果为 1

Linux 命令执行顺序控制相关推荐

  1. linux将屏幕输出到文件,Linux命令执行的屏幕输出内容重定向到日志文件

    摘要: 作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 快速mark一下这个命令细节,免得以后使用又忘记了 大家都知道可以用echo来输出内容到 ...

  2. Linux命令执行顺序— ||和和; 比较

    Linux命令执行顺序- ||和&&和; command1 && command2: &&左边的command1执行成功(返回0表示成功)后,& ...

  3. linux如何执行python文件_以linux命令执行Python文件 - python

    Closed. This question needs to be more focused.它当前不接受答案. 想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题 ...

  4. Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义以及linux命令执行返回值代表意义

    Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义以及linux命令执行返回值意义 (1) Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 1.1.简要说明 ps: ...

  5. Linux基础 -- 命令执行顺序控制与管道

    2019独角兽企业重金招聘Python工程师标准>>> 1.命令执行顺序的控制 1.1.顺序执行多条命令 Linux中让命令顺序执行,可以使用;来完成.和Java中很像,分号用来分隔 ...

  6. Linux下命令执行顺序控制与管道

    一.命令执行顺序的控制 顺序执行多条命令 通常情况下,每次只能在终端输入一条命令,执行完成后,再输入第二条命令,然后再按回车执行.要想一次性输入完执行,可以使用简单的顺序执行";" ...

  7. Linux命令执行顺序

    工作了,好久没写博客了,之前的一些东西都已淡忘,今天有时间写篇文章,刚刚学习的Linux知识,就写篇文章积累一下吧! 使用&& 命令形式:命令1 && 命令2 这种形式 ...

  8. linux命令执行的通过程,Linux下shell命令执行过程简介

    浅析linux 下shell命令执行和守护进程 执行shell脚本有以下几种方式 1.相对路径方式,需先cd到脚本路径下 [root@banking tmp]# cd /tmp [root@banki ...

  9. Linux命令执行过程中的配置文件信息

    命令执行过程 前面讲到过使用 alias 可以建立别名,比如创建了一个 ls 的别名,其实 ls 有少的指令,那么到底是哪一个会被选中执行呢?基本上,指令运行顺序可以这样看: 以相对.绝对路径执行命令 ...

最新文章

  1. 视频监控行业解决方案
  2. Java-Maven(四):Eclipse集成Maven环境配置
  3. 为什么现有的工作制度 对 上班族不利
  4. 首尾非零正则_常用的17种正则表达式
  5. 【数据结构与算法】之深入解析“二叉搜索树中的插入操作”的求解思路与算法示例
  6. 用cisco命令确定和跟踪DOS***源
  7. vue面试题,知识点汇总(有答案)
  8. 兄弟机cnc系统面板图解_FANUC软操作面板的应用介绍,真的太详细了
  9. 常考程序 —— 笔试篇
  10. Linux命令:find命令
  11. 可交换的四本书的封面
  12. 电脑主板接口_如何看电脑主板 M.2 接口是支持 SATA 还是 NVMe 固态硬盘?
  13. Hive日期格式转换
  14. lisp用entmake生产圆柱体_液态基酒生产
  15. 微信内置浏览器直接下载APK的解决方法
  16. BS7799(ISO17799:2000)
  17. 康奈尔笔记系统介绍和购买
  18. vue 组件自己调用自己
  19. 看看月明光彩照入东 水浒
  20. 灵遁者第一部诗歌集《触摸世界》上集40首诗歌欣赏

热门文章

  1. 怎样学操作系统?一文带你掌握核心内容
  2. 复旦博士用130行代码搞定核酸统计,2分钟解决人工一小时工作量
  3. 10个人有9个答错,另外1个只对一半:数据库的锁,到底锁的是什么?
  4. ArrayList和LinkedList使用不当,性能差距会如此之大!
  5. 主管问我:你以为单元测试,只是测试吗?
  6. 一上来,就问原理,问上亿(MySQL)大表的索引优化,我的天...
  7. Maven + Nexus + SVN + Eclipse 配置步骤说明
  8. 在 MyEclipse 5.1GA 上使用 XFire 编写 Web Service
  9. Java基础篇(03):流程控制语句,和算法应用
  10. Spring 框架基础(05):事务管理机制,和实现方式