ant 命令在 Mac 上启动新终端并执行命令

ant 命令在 Mac 上启动新终端并执行命令

我正在尝试在 Mac 中打开一个新的终端窗口并通过 ant 执行节点命令

   <exec osfamily="unix" dir="${dir}" executable="open" failonerror="true">
            <env key="MONGODB_HOST" value="${mongo.host}"/>
            <env key="MONGODB_DATABASE" value="${mongo.dbname}"/>
            <arg line="-a Terminal ."/>
        </exec>
   <exec osfamily="unix" dir="${dir}" executable="node" failonerror="true">
            <arg line="${app.file.name}.js "/>
        </exec>

但是第二个 exec 在旧的终端窗口中执行,而不是第一个 exec 打开的新终端窗口中执行

有人可以指导我如何在新终端窗口的上下文中执行第二个 exec

我正在尝试模拟

  • 打开新的终端窗口

  • 设置环境变量

  • 并执行 node server.js

通过 Mac 上的 ant 命令

答案1

我最终能够使用以下 shell 脚本并从 ant 调用它们来完成此操作:)

https://stackoverflow.com/questions/1589114/opening-a-new-terminal-tab-in-osxsnow-leopard-with-the-opening-terminal-window

#!/bin/sh
pwd=`pwd`
osascript -e "tell application \"Terminal\" to do script \"cd $pwd; clear\"" > /dev/null

#!/bin/sh

pwd=`pwd`
osascript -e "tell application \"Terminal\"" \
    -e "tell application \"System Events\" to keystroke \"t\" using {command down}" \
    -e "do script \"cd $pwd; clear\" in front window" \
    -e "end tell"
    > /dev/null

相关内容