在 Linux 上类似:
<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 或关闭项目以打开另一个项目时能够使其保持 Activity 状态。帮忙?
最佳答案
刚刚使用 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>
之前的问题是 open -a 无法解决,因为我无法将参数 jpda 和 run 传递给脚本。 open 需要一个 --args,但 args 似乎被传递到终端而不是脚本。欢迎其他解决方案,但这现在对我有用。
关于java - 如何在 Mac 上从 ant 启动 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2177362/