我正在尝试在 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 调用它们来完成此操作:)
#!/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