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

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

command1 && command2: &&左边的command1执行成功(返回0表示成功)后,&&右边的command2才能被执行。

command1 || command2: 如果||左边的command1执行失败(返回1表示失败),就执行&&右边的command2。

command1;command2: 命令顺序执行




//第一个命令执行不成功,第二个命令才执行

[tough@toughhou shell]cata||touchacat:a:Nosuchfileordirectory[tough@toughhoushell]  ls

 a  getpath.sh




//第一个命令执行成功,第二个命令不执行

[tough@toughhou shell]cata||touchb[tough@toughhoushell]  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

刚才输入命令 echo "This is file content, over!" > filename 竟然会出错,提示:

bash:  !": event not found

原来字符串中的!会被解析。如果不出错的话呢,转义!就可以了,如 ! ,

或者把双引号改成单引号也行。

test

About the Author

Avatar photo

今生在线

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据