我试图在一行中合并多个linux命令以执行部署操作。
比如说
cd/my\u文件夹
rm*.jar
svn共同回购路径
mvn编译包安装
如果要仅在前一个命令成功时执行每个命令,请使用&&操作员:
cd/my\u文件夹&&;rm*.jar&&;svn共同回购路径&&;mvn编译包安装
如果其中一个命令失败,那么随后的所有其他命令将不会执行
如果要执行所有命令,而不管以前的命令是否失败,请用分号分隔它们:
cd/my\u文件夹;rm*.jar;svn共同回购路径;mvn编译包安装
在您的情况下,我认为您需要第一种情况,即下一个命令的执行取决于前一个命令的成功
您还可以将所有命令放在脚本中,然后执行该脚本:
#/垃圾箱/垃圾箱
cd/my_文件夹\
&&;rm*.jar\
&&;svn共同回购路径\
&&;mvn编译包安装
(行末尾的反斜杠用于防止shell认为下一行是新命令;如果省略反斜杠,则需要将整个命令写入一行。)
将其保存到文件中,例如myscript,并使其可执行:
chmod+x myscript
现在,您可以像机器上的其他程序一样执行该脚本。但是,如果您没有将它放在PATH环境变量中列出的目录中(例如/usr/local/bin,或者在某些Linux发行版上~/bin),则需要指定该脚本的路径。如果它位于当前目录中,则使用以下命令执行:
/myscript
脚本中的命令的工作方式与第一个示例中的命令相同;下一个命令仅在前一个命令成功时执行。要无条件执行所有命令,只需在自己的行中列出每个命令:
#/垃圾箱/垃圾箱
cd/my_文件夹
rm*.jar
svn共同回购路径
mvn编译包安装