在 OSX 中配置 zsh 以自动启动进程

在 OSX 中配置 zsh 以自动启动进程

我最近在 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”。

相关内容