Linux中如何同时执行多个命令
在Linux中可以同时执行多个命令,同时执行多个命令是按什么规则执行呢,下面是一些多个命令同时执行的规则。
- 执行多个命令,前一个命令执行成功,才执行后一个命令。
- 执行多个命令,前一个命令执行失败,才执行后一个命令。
- 执行多个命令,不管前一个执行失败,都执行后一个命令。
1,执行多个命令使用&&
在多个命令中使用&&符号,主要用于多个命令之间,必须是前一个命令执行成功,接着才会执行后一个命令,不管命令有多少个都是按这种规则去执行的。下面就以两个简单的命令来举例,第一个命令是cd /home/sharplee(进入到sharplee目录) 第二个命令是pwd(打印当前目录)
[root@sharplee creatfile]# cd /home/sharplee && pwd
接下来看一下前一个命令输入不正确,接着会不会执行第二个命令呢?下面就来输入第一个命令cd /home/sharplee/a && pwd
[root@sharplee creatfile]# cd /home/sharplee/a && pwd
从上图中可以看出,前一个命令执行失败,后一个命令是不能继续执行了。就终止了。
2,执行多个命令使用||
使用||连接多个命令,则代表着必须是前一个命令执行失败,才会接着执行后一个命令,如果前一个命令执行成功,后一个命令也不会继续执行,下面就来看一个例子,还是使用cd /home/sharplee/creatfile作为第一个命令,pwd为第二个命令。
[root@sharplee creatfile]#cd /home/sharplee/creatfile || pwd
从图中可以看出cd /home/sharplee/createfile/ 这个路径是能够执行成功的,接着就不执行后面的命令了。毕竟||的规则是必须前一个执行失败,才会接着执行后一个命令。
接下来在来看一下进入cd /home/sharplee/createfile/a 执行失败,接着会不会执行后面的命令pwd。
[root@sharplee creatfile]# cd /home/sharplee/createfile/a || pwd
通过上图可以看出前一个命令执行失败了,后一个命令pwd执行成功了。
3,执行多个命令使;
多个命令之间使用;号连接,代表执行多个命令,不用关系前一个命令的执行状态,不管执行成功与否,都会执行后面的命令,接下来再以刚才的命令cd /home/sharplee/createfile/ 以及pwd命令举例。
[root@sharplee creatfile]# cd /home/sharplee/creatfile/ ; pwd
接下来,执行命令cd /home/sharplee/creatfile/a 以及pwd 以及ls命令。
[root@sharplee creatfile]# cd /home/sharplee/creatfile/a ;pwd ;ls
通过上图可以看出,”;”连接多个命令,不管前面一个命令的执行状态的,不管成功失败都会执行后面的命令。
接下来看一个很多命令一起执行的例子:
[root@sharplee creatfile]# (cd /home/sharplee/creatfile/ && pwd) || (cd /home/sharplee/creatfile/ && ls -l)
上图可以看出第一个命令执行成功,后面一个就不执行了。接下来再来看以下例子
[root@sharplee creatfile]# (cd /home/sharplee/creatfile/ && pwd) && (cd /home/sharplee/creatfile/ && ls -l)
总结:执行多个命令时,使用”&&“符号连接,代表前一个命令必须成功,后一个才执行。使用”||”符号,代表前一个命令必须失败,后一个才执行。使用”;”符号连接多个命令,不管前面是否成功,后面的命令都会执行。
出处:http://www.cnblogs.com/Hackerman/