2012-12-20 9 views
8

私はAntのビルドスクリプトを介してこれをしたい:を実行し、複数のコマンド

$ /bin/sh 
$ cd /path/to/executable 
$ ./executable.sh 

これは私が試したものですが、私はそれだけでcdコマンド実行思う:私は

<exec executable="/bin/sh" os="Mac OS X"> 
    <arg value="-c"/> 
    <arg value="cd /path/to/executable"/> 
    <arg value="./executable.sh"/> 
</exec> 

をMac OS Xの場合

答えて

14

-cの後の最初の引数だけがシェルによって実行されるため、表示される動作が異なります。 2つのコマンドを1つの引数にセミコロンで区切って入力します。

<exec executable="/bin/sh" os="Mac OS X"> 
    <arg value="-c"/> 
    <arg value="cd /path/to/executable; ./executable.sh"/> 
</exec> 
+1

これは完全に機能しました。どうもありがとうございました! – Ohas

+0

これは奇妙なことです。つまり、Macではargsを使用できません。 -c argsの次に同じ行にすべてのコマンドを与える必要がありますか? –

+0

代わりに、それぞれのコマンドを独自のexecタグで実行するように提案しました。エラーを難読化するようにそれらを連鎖させる。それらのうちの1つが失敗した場合、原因を特定するために必要なエラーを取得しない可能性があります。 –

関連する問題