【问题标题】:How do you launch a shell script from ant on a Mac?如何在 Mac 上从 ant 启动 shell 脚本?
【发布时间】:2011-01-11 18:02:34
【问题描述】:

在 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 或关闭项目以打开另一个项目时能够使其保持活动状态。帮忙?

【问题讨论】:

    标签: java macos ant


    【解决方案1】:

    您应该能够对 /bin/sh 运行它并让它与 ant 输出内联显示。

    【讨论】:

    • 确实如此,但我正在从 IDE 运行 ant 目标并希望它生成一个新终端,因此可以退出 IDE 或关闭项目而无需终止脚本。在这种情况下,它启动 Tomcat。对于原始问题中缺少该信息,我深表歉意。我现在添加它。感谢您的回复。
    【解决方案2】:

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

    【讨论】:

      【解决方案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>
      

      之前那个 open -a 无法解决的问题是我无法获取参数 jpda 并 run 传递给脚本。 open 需要一个 --args,但 args 似乎是传递给终端而不是脚本。欢迎使用其他解决方案,但现在这对我有用。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      • 2018-10-15
      • 2016-08-09
      • 2019-10-18
      • 2011-11-26
      • 1970-01-01
      相关资源
      最近更新 更多