在单个文件中执行一批服务器命令

在单个文件中执行一批服务器命令

我如何执行简单的命令,例如

cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod

cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php

rm -R cake.old nbproject

通过一个命令调用?

答案1

将以下内容放入command.sh

#!/bin/bash
cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod
cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php
rm -R cake.old nbproject

然后使该文件可执行:

$ chmod +x command.sh

然后运行它:

$ ./command.sh

答案2

如果您只是复制/粘贴此内容,请用分号分隔命令。

cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod; cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php; rm -R cake.old nbproject

请注意,您发布的第一个命令将复制 index.php 文件,因此之后直接运行第二个副本是不必要的。

答案3

您可以像其他人所说的那样用分号将它们分隔开,或者使用双与号 (&&) 将它们分隔开,如下所示:

cp -pr /scripts/htdocs/sob/summaries/* /scripts/htdocs/sob/summaries.prod && cp -p /scripts/htdocs/sob/summaries/index.php /scripts/htdocs/sob/summaries.prod/index.php && rm -R cake.old nbproject

区别在于,使用“与”号时,只有前一个命令成功完成后,才会执行后面的命令;而使用分号时,无论前一个命令如何,都会执行所有命令。

答案4

您可以用分号分隔它们,或者将它们放在脚本中,将其标记为可执行文件,然后调用该脚本。

相关内容