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

原文地址:https://www.cnblogs.com/zqunor/p/8521298.html