我最近在 OSX 中改用 zsh 而不是 bash,并且想知道是否可以执行以下操作:
当我启动我的终端时,我想启动各种选项卡并让每个选项卡运行不同的进程,例如跟踪日志、运行 ruby 脚本等。
目前我需要按 cmd+n 多个选项卡,然后手动启动每个进程。虽然这不会花很长时间,但我希望能够启动我的终端并让这些不同的选项卡自动启动并运行这些命令。
这可能吗?
答案1
我以前也遇到过类似的问题。据我所知,编写终端操作脚本的唯一方法是使用 applescript(毕竟 Terminal.app 是一个 GUI 应用程序,而 AppleScript 是 Apple 编写 GUI 操作脚本的预期方式)。
编写如下脚本:
tell application "Terminal"
activate
do script "cd /path_to/target_dir" in front window
do script "some_command" in front window
end tell
tell application "System Events" to tell process "Terminal" to keystroke "t" using command down
tell application "Terminal"
activate
do script "cd /path_to/next_target_dir" in front window
do script "some_other_command" in front window
end tell
...etc
重复执行所需数量的命令。请注意,这是针对您特别要求的选项卡,尽管提到的“cmd-N”按键会打开新窗口,而不是选项卡。如果您想对窗口执行此操作,请将“告诉应用程序“系统事件”...”行中的“t”更改为“n”。