2010-02-01 88 views
2

在Linux上类似于:如何在Mac上从ant启动shell脚本?

<target name="runDo"> 
    <exec executable="gnome-terminal" spawn="true"> 
     <arg line="-t 'Title' --geometry=120x80 -e '/script/path/bin/do.sh'"/> 
    </exec> 
    </target> 

工作正常。

我已经尝试通过macports安装xterm,gnome-terminal和rxvt并运行它们类似地没有结果以及/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -e,但似乎没有任何效果。我也尝试将脚本作为可执行文件的属性值运行,希望操作系统选择合适的应用程序来启动,但没有喜悦。

我可以在不产生新终端的情况下运行它,但是我正在从IDE运行ant任务,并希望能够保持活动状态,如果我退出IDE或关闭项目以打开另一个。帮帮我?

回答

3

使用xterm刚走到...之前

<target name="startTomcat_DebugLinux" if="isLinux"> 
    <exec executable="gnome-terminal" spawn="true"> 
    <arg line="--window-with-profile=Tomcat --geometry=120x60 -e '${env.CATALINA_HOME}/bin/catalina.sh jpda run'" /> 
    </exec> 
</target> 

<target name="startTomcat_DebugMac" if="isMac"> 
    <exec executable="/usr/X11R6/bin/xterm" spawn="true"> 
    <arg line="-geometry 180x65 -e ${env.CATALINA_HOME}/bin/catalina.sh jpda run" /> 
    </exec> 
</target> 

的问题,即开放-a禁不住的是,我无法得到的参数JPDA和运行传递到脚本。打开需要一个--args,但是这些args似乎被传递给了终端而不是脚本。其他解决方案是受欢迎的,但现在对我来说很有用。

+0

+1有趣的替代方案;更多在这里:http://developer.apple.com/opensource/tools/runningx11.html – trashgod 2010-05-18 20:13:41

1

你应该能够在/ bin/sh下运行它,并让它与ant输出内联。

+0

确实够了,但是我正在从IDE运行ant目标并希望它产生一个新的终端,所以IDE可以退出或者在不杀死脚本的情况下关闭项目。在这种情况下,它启动了Tomcat。我对原始问题中缺乏这些信息表示歉意。我现在就添加它。感谢您的答复。 – Felix 2010-02-01 15:30:26

2

尝试open -a Terminal /script/path/bin/do.sh