正如预期,因为目录无法创建,第一条命令失败了,于是第二条命令被执行 。
把 && 和 || 两种运算符结合起来才能发挥它们的最大功效 。请看下面例子中的流程控制方法:
语法解释:“假如 command1 退出时返回码为零,就执行 command2,否则执行 command3 。”用具体代码试试:
现在我们再试一次,用你的家目录替换 /root 目录,你将会有权限创建这个目录了:
像 command1 && command2 这样的控制语句能够运行的原因是,每条命令执行完毕时都会给 shell 发送一个返回码,用来表示它执行成功与否 。默认情况下,返回码为 0 表示成功,其他任何正值表示失败 。一些系统管理员使用的工具用值为 1 的返回码来表示失败,但其他很多程序使用别的数字来表示失败 。
Bash 的内置变量 $? 可以显示上一条命令的返回码,可以在脚本或者命令行中非常方便地检查它 。要查看返回码,让我们从运行一条简单的命令开始,返回码的结果总是上一条命令给出的 。
在这个例子中,返回码为零,意味着命令执行成功了 。现在对 root 的家目录测试一下,你应该没有权限:
本例中返回码是 2,表明非 root 用户没有权限进入这个目录 。你可以利用这些返回码,用控制运算符来改变程序执行的顺序 。
总结本文将 Bash 看作一门编程语言,并从这个视角介绍了它的简单语法和基础工具 。我们学习了如何将数据输出到 STDOUT,怎样使用变量和控制运算符 。在本系列的下一篇文章中,将会重点介绍能够控制指令执行流程的逻辑运算符 。
推荐阅读
- Java几种常用的断言风格你怎么选?
- 国际VPN专线使用起来怎么样?
- 茶渣妙用,有效消炎止痛 防治疮疖红肿
- 只会用chmod 777?Linux下的文件权限居然还有这么多骚操作
- Win系统允许多用户同时远程登录
- 2020年如何利用SEO增加流量?
- 做自媒体不知道怎么配图,有这6个网站就够了!质量好,免费用
- 刚开的网店怎样才有生意 网店开了没生意怎么办呢
- 托玛琳床垫的作用 托玛琳床垫怎么样
- 托玛琳床垫的作用 托玛琳床垫好吗