Shell编程学习---第六篇:命令执行顺序
2013-08-20 20:51
197 查看
在执行某个命令的时候,有时需要依赖于前一个命令是否执行成功。例如,假设你希望
将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件。在删除
之前,你希望能够确信拷贝成功,否则就有可能丢失所有的文件。
在本章中,我们将讨论:
• 命令执行控制。
• 命令组合。
如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行
另一个命令,&&和||可以完成这样的功能。相应的命令可以是系统命令或shell脚本。
shell还提供了在当前shell或子shell中执行一组命令的方法,即使用()和{}。
6.1 使用&&
使用& &的一般形式为:
命令1 && 命令2
这种命令执行方式相当地直接。 & &左边的命令(命令 1)返回真(即返回0,成功被执行)
后,&&右边的命令(命令 2)才能够被执行;换句话说, “如果这个命令执行成功 &&那么执
行这个命令” 。
这里有一个使用&&的简单例子:
$ cp test.txt test.bak && echo " copy success!"
在上面的例子中,&&前面的拷贝命令执行成功,所以&&后面的命令(echo命令)被执
行。
6.2 使用||
使用||的一般形式为:
命令1 || 命令2
||的作用有一些不同。如果||左边的命令(命令 1)未执行成功,那么就执行 ||右边的命令
(命令2);或者换句话说, “如果这个命令执行失败了||那么就执行这个命令” 。
6.3 用()和{}将命令结合在一起
如果希望把几个命令合在一起执行,shell提供了两种方法。既可以在当前shell也可以在
子shell中执行一组命令。
为了在当前shell中执行一组命令,可以用命令分隔符隔开每一个命令,并把所有的命令
用圆括号()括起来。
它的一般形式为:
(命令1;命令2;. . .)
如果使用{}来代替(),那么相应的命令将在子shell而不是当前 shell中作为一个整体被执
行,只有在 { }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子shell中执
行,否则在当前shell执行。它的一般形式为:
{命令1;命令2; . . . }
将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件。在删除
之前,你希望能够确信拷贝成功,否则就有可能丢失所有的文件。
在本章中,我们将讨论:
• 命令执行控制。
• 命令组合。
如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行
另一个命令,&&和||可以完成这样的功能。相应的命令可以是系统命令或shell脚本。
shell还提供了在当前shell或子shell中执行一组命令的方法,即使用()和{}。
6.1 使用&&
使用& &的一般形式为:
命令1 && 命令2
这种命令执行方式相当地直接。 & &左边的命令(命令 1)返回真(即返回0,成功被执行)
后,&&右边的命令(命令 2)才能够被执行;换句话说, “如果这个命令执行成功 &&那么执
行这个命令” 。
这里有一个使用&&的简单例子:
$ cp test.txt test.bak && echo " copy success!"
在上面的例子中,&&前面的拷贝命令执行成功,所以&&后面的命令(echo命令)被执
行。
6.2 使用||
使用||的一般形式为:
命令1 || 命令2
||的作用有一些不同。如果||左边的命令(命令 1)未执行成功,那么就执行 ||右边的命令
(命令2);或者换句话说, “如果这个命令执行失败了||那么就执行这个命令” 。
6.3 用()和{}将命令结合在一起
如果希望把几个命令合在一起执行,shell提供了两种方法。既可以在当前shell也可以在
子shell中执行一组命令。
为了在当前shell中执行一组命令,可以用命令分隔符隔开每一个命令,并把所有的命令
用圆括号()括起来。
它的一般形式为:
(命令1;命令2;. . .)
如果使用{}来代替(),那么相应的命令将在子shell而不是当前 shell中作为一个整体被执
行,只有在 { }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子shell中执
行,否则在当前shell执行。它的一般形式为:
{命令1;命令2; . . . }
相关文章推荐
- 1.8命令执行顺序控制与管道(学习过程)
- Linux学习之路:命令别名、历史记录和命令查找执行顺序
- Linux曲径通幽:Shell编程(别名、历史、输入输出重定向、多命令顺序执行、管道符、通配符)
- 命令执行顺序-------shell学习(5)
- (大数据工程师学习路径)第一步 Linux 基础入门----命令执行顺序控制与管道
- Shell编程学习---第三篇:后台执行命令
- 关于try中含有return语句的执行顺序的升入解析(学习javap命令)
- Linux学习日记 —— 10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
- Linux学习笔记--命令的顺序执行、管道符、通配符、其他特殊符号
- 实验楼Linux学习笔记(九)之 命令执行顺序控制与管道
- SHELL脚本攻略(学习笔记)--1.3 多命令逻辑执行顺序
- Linux学习10:命令执行顺序控制与管道
- Linux学习之多命令顺序执行
- 命令执行顺序控制与管道
- shell学习三十八天----执行顺序和eval
- shell命令执行的顺序
- shell学习七-----通过取串长度压测命令执行时间
- 【BASH】顺序执行一系列的命令
- shell命令执行顺序
- Linux:命令执行顺序控制与管道