SHELL脚本攻略(学习笔记)--1.3 多命令逻辑执行顺序

Posted 骏马金龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SHELL脚本攻略(学习笔记)--1.3 多命令逻辑执行顺序相关的知识,希望对你有一定的参考价值。

Linux中可以使用分号“;”、双and号“&&”和双竖线“||”来连接多个命令。

1.3.1 分号;

当多个命令想在写在一行上同时执行,可以在每个命令后使用分号“;”。多个命令之间没有任何逻辑关系,所有写出来的命令都会执行,即使某个命令有错误也不影响其他命令。

[[email protected] ~]# ls das;echo "hdakl"

ls: cannot access das: No such file or directory

hdakl

1.3.2 &&

逻辑与。command1  &&  command2,只有当command1正确执行才执行command2,如果command1不正确执行,则不执行command2。如何判断正确,bash内部会通过预定义变量“$?”来判断。

[[email protected] ~]# echo "hdakl" && ls ds 

hdakl

ls: cannot access ds: No such file or directory

[[email protected] ~]# ls das && echo "hdakl"

ls: cannot access das: No such file or directory

1.3.3 ||

逻辑或。command1 || command2,只有当command1不正确执行才执行command2,command1正确执行则不会执行command2。||和&&都是短路符号,符号左右的命令之间具有逻辑关系。

[[email protected] ~]# ls das || echo "hdakl" 

ls: cannot access das: No such file or directory

hdakl

[[email protected] ~]# echo "hdakl" || ls ds   

hdakl

一般要联合使用&&和||的时候,基本上都会先逻辑与再逻辑或command1 && command2 || command3。因为在实际中,command2和command3应该都是想要执行的命令。如果command1正确执行,$?就等于0,执行command2,再看情况执行command3,如果command1错误执行,$?就不等于0,不执行command2,但是这时根据这个非0,判断了 || 右边的应该要执行。

以上是关于SHELL脚本攻略(学习笔记)--1.3 多命令逻辑执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

SHELL脚本攻略(学习笔记)--1.7 expr命令全解

SHELL脚本攻略(学习笔记)--1.8 别名

SHELL脚本攻略(学习笔记)--1.4 变量(基础)

SHELL脚本攻略(读书笔记)--1.11 命令替换和子shell的作用

《Linux Shell 脚本攻略》读书笔记

SHELL脚本攻略(学习笔记)--1.5 进行数学运算