2012-09-28 35 views
4

我有一個bash腳本,名爲bashScript.sh從(linux)和(cygwin在Windows)中調用bash腳本

我需要在windows(cygwin)和unix/linux上的ant腳本中啓動bashScript.sh

我該怎麼做?

我已經試過這個,和其他一些解決方案,使用環境變量,但沒有env.OSTYPE。並使用...

<exec executable="/bin/bash" failonerror="true"> 
     <arg value="bashScript.sh"/> 
    </exec> 

...不能在Windows(Cygwin的)工作,因爲cygwin的未能找到\bin\bash

謝謝,如果你需要更多的信息讓我知道。

回答

13

您可以使用不同的osfamily s創建兩個exec任務。

像這樣:

<exec dir="." executable="C:\Path\to\cygwin\bin\bash" osfamily="windows"> 
    <arg value="bashScript.sh"/> 
</exec> 
<exec dir="." executable="/bin/bash" osfamily="unix"> 
    <arg value="bashScript.sh"/> 
</exec> 
+0

現在正在嘗試這種解決方案。 – prolink007

+0

工作時,減去'exec'中所有額外的'arg值'。但是,我希望有一個解決方案,其中'\ bin \ bash'的路徑不是硬編碼的。有沒有一種方法來獲得該路徑,所以用戶不必根據他們的cygwin位置來改變它? – prolink007

+0

我修改了你的答案。我拿出了一些不需要的東西。 – prolink007