Linux命令执行顺序— ||和&&和;

command1 && command2: &&左边的command1执行成功(返回0表示成功)后,&&右边的command2才能被执行。
command1 || command2: 如果||左边的command1执行失败(返回1表示失败),就执行&&右边的command2。
command1;command2: 命令顺序执行

//第一个命令执行不成功,第二个命令才执行
[tough@toughhou shell]$ cat a || touch a
cat: a: No such file or directory
[tough@toughhou shell]$ ls
a  getpath.sh

//第一个命令执行成功,第二个命令不执行
[tough@toughhou shell]$ cat a || touch b
[tough@toughhou shell]$ ls
a  getpath.sh

//只有第一个命令(touch a)执行成功,才执行第二个命令(touch b)
[tough@toughhou shell]$ touch a && touch b
[tough@toughhou shell]$ ls
a  b  getpath.sh

//因为第一个命令执行不成功,所以第二个命令没执行
[tough@toughhou shell]$ cat a1 && touch c
cat: a1: No such file or directory
[tough@toughhou shell]$ ls
a  b  getpath.sh

//命令顺序执行
[tough@toughhou shell]$ pwd;more a;date
/home/tough/shell
123
Sun Oct 13 10:24:55 CST 2013

 

原文地址:https://www.cnblogs.com/toughhou/p/3778772.html