【问题标题】:How to run multiple Unix Commands in an Ant Target in one time如何一次在 Ant 目标中运行多个 Unix 命令
【发布时间】:2016-08-30 17:21:56
【问题描述】:

有人可以帮助我提供一个示例目标,说明如何在 Ant 目标中使用 Bash shell 运行两个(或更多)Unix 命令,但无需编写新的 shell 脚本。

我在这里找到了答案 How to run multiple Unix Commands in one time?,这很好,但建议创建一个我不想做的 shell 脚本。

到目前为止我使用的代码是这样的,它可以工作,但我想知道是否有一种更简洁的方法 - 在一个标签中,两个命令可能用“;”分隔或者可能使用 标签而不是显示的 。

<target name="dos2unixTidyUp"  depends="deleteTemp" if="isUnix"  >
    <shellscript shell="bash" dir="${my-app-bin.dir}" osfamily="unix" >
        dos2unix *.sh
    </shellscript>
    <echo>dos2Unix formatting completed</echo>
    <shellscript shell="bash" dir="${my-app-bin.dir}" osfamily="unix" >
        chmod +x *.sh
    </shellscript>
    <echo>chmod +x *.sh commanded completed</echo>
</target>

对于您的答案,请提供一个示例 在这里回答!! 目标>

如果可以使用“;”分隔命令这些命令可以在不同的行上还是必须在同一行上。

【问题讨论】:

  • 只需使用 任务并用';'分隔两个命令是要走的路

标签: linux bash unix ant


【解决方案1】:

你可以使用:

$ echo "hello"; echo "there"

将运行所有命令,或

$ mkdir "xxx" && cd "xxx" || echo "mkdir fail, will not cd ..."

只有在 'mkdir' 成功时才会运行 'cd'。如果没有,'echo' 将运行

【讨论】:

    【解决方案2】:

    感谢您的回答,他们确实帮助了我。我设法像这样修改了我的目标。将两个 unix 命令放在一行上,用“;”分隔也有效。如果有人想使用 发布示例,那么请这样做 - 这也会很有帮助,我会将其标记为第二个答案。

    <target name="unixShellTidyup"  depends="deleteTemp" if="isUnix"  >
         <shellscript shell="bash" dir="${my-app-bin.dir}" osfamily="unix" >
              dos2unix *.sh ;
              chmod +x *.sh
          </shellscript>
          <echo>unixShellTidyup completed</echo>
    </target>
    

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 2013-05-27
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多