【发布时间】:2014-12-12 23:59:20
【问题描述】:
我正在使用 AppleScript 在终端选项卡中打开 PostgreSQL,如下所示:
#!/bin/bash
function new_tab() {
TAB_NAME=$1
COMMAND=$2
osascript \
-e "tell application \"Terminal\"" \
-e "tell application \"System Events\" to keystroke \"t\" using {command down}" \
-e "do script \"printf '\\\e]1;$TAB_NAME\\\a'; $COMMAND\" in front window" \
-e "end tell" > /dev/null
}
new_tab "PostgreSQL" "postgres -D /usr/local/var/postgres"
从终端运行此脚本将打开一个新选项卡,其中包含 PostgreSQL 服务器。所以在执行结束时,我将有 2 个选项卡:第一个用于运行脚本,第二个包含服务器。
如何关闭第一个?
这是我的尝试:
osascript -e "tell application \"Terminal\" to close tab 1 of window 1"
但我收到此错误消息:
执行错误:终端出现错误:窗口 1 的选项卡 1 没有 理解“关闭”信息。 (-1708)
【问题讨论】:
-
唉,终端的脚本界面是由小猫眼泪和发霉的袜子组成的。 (它的
make命令也不起作用。)按照下面的建议使用 GUI 脚本,或者给自己一个更好的终端仿真应用程序,例如 iTerm。
标签: applescript osascript