有人可以帮我一个示例目标,了解如何在Ant目标中使用Bash shell运行两个(或更多)Unix命令,但不编写新的shell脚本。
我在这里找到了答案How to run multiple Unix Commands in one time?这很棒,但建议创建一个我不想做的shell脚本。
到目前为止我使用的代码是这样的,它可以工作,但我想知道是否有一种更简洁的方法 - 在一个标签中,或许用两个命令分隔一个&#34 ;;"或者可能使用< exec>标签而不是< shellscript>所示。
<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>
为了您的答案,请提供一个示例 &LT;目标&gt; 在这里回答!! &LT; / target&gt;
如果可以使用&#34 ;;&#34;来分隔命令。命令可以在单独的行上,还是必须在同一行上。
答案 0 :(得分:1)
您可以使用:
$ echo "hello"; echo "there"
将运行所有命令,或
$ mkdir "xxx" && cd "xxx" || echo "mkdir fail, will not cd ..."
只有'mkdir'成功,才会运行'cd'。如果没有,'echo'将运行
答案 1 :(得分:0)
感谢您的回答,他们帮了我。我设法修改了我的目标。将两个unix命令放在由“;”分隔的一行上也工作。如果有人想使用&lt;发布示例exec&gt;那么请这样做 - 这也会有所帮助,我会将其标记为第二个答案。
<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>