Câu hỏi lệnh ant để bắt đầu một thiết bị đầu cuối mới và thực thi lệnh trên mac


Tôi đang cố gắng để mở một cửa sổ thiết bị đầu cuối mới trong mac và thực hiện một lệnh nút thông qua kiến

   <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>

Tuy nhiên, exec thứ hai thực hiện trong cửa sổ terminal cũ và không phải là một lệnh mới được mở bởi exec đầu tiên

Bất cứ ai có thể xin vui lòng hướng dẫn tôi như thế nào tôi có thể thực hiện các exec thứ hai trong bối cảnh của cửa sổ thiết bị đầu cuối mới

Tôi đang cố gắng mô phỏng chức năng cơ bản của

  • mở một cửa sổ đầu cuối mới

  • thiết lập biến môi trường

  • và thực thi node server.js

thông qua lệnh ant trên mac


0
2018-06-13 16:46


gốc




Các câu trả lời:


tôi cuối cùng đã có thể làm điều đó bằng cách sử dụng các kịch bản shell sau đây và gọi chúng từ 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

0
2018-06-14 01:22