Я пытаюсь открыть новое окно терминала в Mac и выполнить команду узла через муравей

   <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 в контексте нового окна терминала

Я пытаюсь подражать основной функциональности

  • открытие нового окна терминала

  • установка переменных среды

  • и выполнение узла server.js

с помощью команды муравья на Mac

1 ответ1

0

я наконец смог сделать это, используя следующие сценарии оболочки и вызывая их из муравья :)

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .