Mac终端支持多窗口同步执行命令:用Cmd+Option+T新建同配置窗口;用open -a Terminal --args -c启动预设命令的多个窗口;用AppleScript精确控制窗口、标签页及执行内容。

要在Mac终端中让多个窗口同时执行完全相同的命令,比如批量监控日志、并行启动服务或同步运行测试脚本,不需要逐个复制粘贴——系统原生支持一键复刻当前会话环境并广播指令。
用快捷键新建同配置窗口
第一步:确保当前终端窗口已进入目标工作目录、环境变量已加载(如已 source ~/.zshrc)、且命令可直接运行。
第二步:按下 Cmd + Option + T,系统将新建一个窗口,自动继承当前窗口的 Shell 类型(zsh/bash)、当前路径、所有 alias 和 export 的变量。
第三步:在新窗口中直接输入你要运行的命令(例如 tail -f /var/log/system.log),回车执行。两个窗口现在就处于完全一致的初始状态,可独立操作或同步运行相同任务。
用 open 命令批量启动带预设命令的窗口
适用于需要一次性打开 3 个以上窗口、且每个窗口都自动执行某条固定命令的场景,比如同时连接三台服务器或启动三个本地开发服务。
方法一:单条命令启动一个带预设命令的新窗口
在任意终端中执行:open -a Terminal /Applications/Utilities/Terminal.app --args -c "cd ~/project && npm run dev"。这会打开一个新终端窗口,并自动执行 cd 切换到项目目录后启动开发服务。
方法二:循环启动多个实例(推荐用于 3+ 窗口)
执行以下命令:
for i in {1..3}; do open -a Terminal --args -c "cd ~/project && echo '窗口 $i' && npm run dev"; done
注意:-c 参数后必须接完整 shell 命令字符串,不能换行;引号必须是英文双引号,否则变量 $i 不会展开。
用 AppleScript 精确控制多个窗口并行执行
当需要更精细的控制——比如给每个窗口设置不同标题、指定字体大小、甚至延迟执行时间——AppleScript 是唯一可靠方案。
打开“脚本编辑器”应用,粘贴以下内容并运行:
tell application "Terminal" do script "cd ~/backend && ./start.sh" do script "cd ~/frontend && npm start" in window 1 do script "cd ~/monitor && python3 watch.py" in window 1end tell
这段脚本会先新建一个窗口运行后端服务,再在同一窗口中新增两个标签页分别运行前端和监控脚本。如果要强制分窗口而非标签页,把 in window 1 改成 in front window 并配合 do script 多次调用即可生成独立窗口。

















