linux shell 多个命令一起执行的几种方法
所谓的多进程 只不过是将多个任务放到后台执行而已,所以现在讲的主要是控制。1.每个命令之间用分号; 隔开说明:各命令的执行结果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。#!/bin/bashstart=`date "+%s"`for((i=1;i<4;i++))do echo " `date "+%s" ` ";sleep 2doneend=`date "+%s"`echo "time: `expr $end - $start `"
执行脚本:74 76 78 80 8284time:8这种不占处理器却有很耗时的进程,我们可以通过一种后台运行的方式来达到节约时间的目的。看如下改进:
#!/bin/bashstart=`date "+%s"`for((i=1;i<4;i++))do { echo " `date "+%s" ` ";sleep 2 }&donewaitend=`date "+%s"`echo "time: `expr $end - $start `"
优缺点:虽然达到了多线程并发的目的,但有一个缺陷,不能控制运行在后台的进程数。
2.每个命令之间用&&隔开说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。3.每个命令之间用||或者|隔开说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。