在一行中执行并组合多个Linux命令

我试图在一行中合并多个linux命令以执行部署操作。
比如说

cd/my\u文件夹
rm*.jar
svn共同回购路径
mvn编译包安装

如果要仅在前一个命令成功时执行每个命令,请使用&amp&amp操作员:

cd/my\u文件夹&amp&rm*.jar&amp&svn共同回购路径&amp&mvn编译包安装

如果其中一个命令失败,那么随后的所有其他命令将不会执行

如果要执行所有命令,而不管以前的命令是否失败,请用分号分隔它们:

cd/my\u文件夹;rm*.jar;svn共同回购路径;mvn编译包安装

在您的情况下,我认为您需要第一种情况,即下一个命令的执行取决于前一个命令的成功

您还可以将所有命令放在脚本中,然后执行该脚本:

#/垃圾箱/垃圾箱
cd/my_文件夹\
&amp&rm*.jar\
&amp&svn共同回购路径\
&amp&mvn编译包安装

(行末尾的反斜杠用于防止shell认为下一行是新命令;如果省略反斜杠,则需要将整个命令写入一行。)

将其保存到文件中,例如myscript,并使其可执行:

chmod+x myscript

现在,您可以像机器上的其他程序一样执行该脚本。但是,如果您没有将它放在PATH环境变量中列出的目录中(例如/usr/local/bin,或者在某些Linux发行版上~/bin),则需要指定该脚本的路径。如果它位于当前目录中,则使用以下命令执行:

/myscript

脚本中的命令的工作方式与第一个示例中的命令相同;下一个命令仅在前一个命令成功时执行。要无条件执行所有命令,只需在自己的行中列出每个命令:

#/垃圾箱/垃圾箱
cd/my_文件夹
rm*.jar
svn共同回购路径
mvn编译包安装

发表评论