You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio Code集成终端内打开新标签(非快捷键方式)?

在macOS Big Sur中实现脚本运行后自动打开新终端标签执行第二个脚本

ZSH 实现方案(优先推荐)

纯ZSH无法直接控制Terminal的UI操作(比如打开新标签),但可以在ZSH脚本中嵌入osascript命令调用AppleScript实现需求,整体逻辑仍以ZSH脚本为主:

  1. 编写包含完整逻辑的ZSH脚本(比如run_scripts.zsh):
#!/bin/zsh

# 执行第一个脚本
./first_script.sh

# 第一个脚本执行完成后,打开新终端标签并运行第二个脚本
osascript <<EOF
tell application "Terminal"
    activate
    -- 快捷键打开新标签
    tell application "System Events" to keystroke "t" using {command down}
    -- 在新标签中切换到当前工作目录并执行第二个脚本
    do script "cd '$PWD'; ./second_script.sh" in front window
end tell
EOF
  1. 给脚本添加执行权限:
chmod +x run_scripts.zsh first_script.sh second_script.sh
  1. 直接运行该ZSH脚本即可:
./run_scripts.zsh

关键说明

  • 如果脚本不在当前工作目录,务必使用绝对路径(比如/Users/xxx/projects/first_script.sh)代替相对路径
  • ZSH会自动等待第一个脚本执行完毕后,才会触发后续的新标签操作,无需额外添加延迟

AppleScript 备选方案

如果需要单独用AppleScript实现,可创建如下脚本文件(比如run_scripts.scpt):

tell application "Terminal"
    activate
    -- 在当前标签执行第一个脚本
    do script "/Users/xxx/projects/first_script.sh" in front window
    -- 等待第一个脚本执行完成(根据实际情况调整延迟时间,移除该句则两个脚本并行执行)
    delay 8
    -- 打开新标签
    tell application "System Events" to keystroke "t" using {command down}
    -- 在新标签执行第二个脚本
    do script "cd /Users/xxx/projects; ./second_script.sh" in front window
end tell

运行方式:在终端执行osascript run_scripts.scpt即可。

内容的提问来源于stack exchange,提问作者anonymoose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:20:27