set commands to {"ls", "pwd", "cd /tmp; ls"}
repeat with com in commands
tell application "Terminal"
activate
do script with command com
end tell
end repeat
#!/bin/sh
osascript <<-eof
tell application "iTerm"
set myterm to (make new terminal)
tell myterm
launch session "Default session"
tell the last session
set name to "Server"
write text "cd \"$PROJECT_DIR\""
write text "script/server"
end tell
launch session "Default session"
tell the last session
set name to "Console"
write text "cd \"$PROJECT_DIR\""
write text "script/console"
end tell
end tell
end tell
eof
一种选择是使用系统事件发送创建新选项卡所需的击键,但限制是必须打开通用访问中的辅助设备,并且可能需要添加视觉延迟。
据我从终端脚本字典中可以看出 - 您只能从选项卡中检索信息,但不能像使用 Windows 那样创建新信息(例如,运行脚本“清除”
看起来您可以使用 GUI 脚本。(我希望能够在不诉诸 GUI 脚本的情况下创建新选项卡,因为终端的字典知道选项卡是窗口的元素。但显然已损坏。)与 Chealion 的回答一样,必须打开对辅助设备的访问,但 Apple提供了一个脚本,允许您检查它是否在此处。
http://www.apple.com/applescript/uiscripting/
Matthew Lambie 在此处提供了一个使用 AppleScript 的 GUI 脚本在 Terminal.app 中创建选项卡的示例:
http://lambie.org/2007/11/03/tabs-in-terminal-using-applescript-on-leopard/
作为对 Chealion 答案的评论,这个答案会更好,但我还没有代表发表评论。
iTerm具有良好的脚本支持。AFP 548 有一个在不同选项卡中打开多个 ssh 会话的示例。[我怀疑这将比 GUI 脚本更容易执行且更可靠。]
new_tab(title, command)
我创建了一种可编写脚本的方式,允许人们使用基本上包含所有苹果脚本的 shell 函数从同一个 Terminal.app 窗口创建和命名新选项卡。我的代码和一些背景故事可以在这里找到:Programmatically Create & Title Tabs Within The Mac OS X Terminal.app
我希望这能让某人的生活更加自动化:)
我不确定如何获取选项卡,但这将为您提供多个窗口:
更多的
我知道您要求使用终端,但实际上-您应该使用 iTerm :-)
这是来自一位同事为 iTerm 编写的脚本:
它启动一个带有多个选项卡的新 iTerm 窗口,并在其中执行一些小命令(用于 Rails 开发)。