一次性执行多条shell命令

:-}

shell一次性执行多条命令

1.每个命令之间用;隔开
说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。

2.每个命令之间用&&隔开
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。

3.每个命令之间用||隔开
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。

shell脚本

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

在PHP中调用多条shell指令

<?php

// Run single system command
exec("ipconfig 2>&1", $output, $code);
var_dump($output);
var_dump($code);

// Run multiple shell commands
exec("cd %cd%\svn_repo_child_folder\test && svn update 
           --username <your-repo-username> --password <your-repo-password> 2>&1", $output, $code);
var_dump($output);
var_dump($code);