shell一次性执行多条命令
1.每个命令之间用;隔开
说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。2.每个命令之间用&&隔开
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。3.每个命令之间用||隔开
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。
—-来源
进入Docker时,始终是镜像的初始状态,需要手动开启各种服务,以及之前做过但没有保留状态的操作,如果比较多的时候,就比较麻烦,所以可以编写一个文件,包含我们所需要运行的所有命令,这样直接运行该文件就可以自动完成准备工作。
以开启apache和mysql服务为例:
1、编写脚本文件,列出所有需要执行的命令(自定义名称为run.sh)
#!/bin/sh service apache2 start; service mysql start;
#!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。
其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。
比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,甚至/bin/echo等等。
—–来源
2、修改权限
chmod -R 777 run.sh
3、执行该脚本文件
./run.sh