Mac终端:如何获取当前终端名称并自动打开新标签
解决方案
你可以用以下通用命令,它会自动识别当前正在使用的终端应用,并在其中打开新标签页:
current_terminal=$(ps -p $PPID -o comm=) osascript -e "tell application \"$current_terminal\" to activate" \ -e "tell application \"System Events\" to tell process \"$current_terminal\" to keystroke \"t\" using command down"
命令说明
ps -p $PPID -o comm=:通过当前Shell进程的父进程ID($PPID)获取终端应用的进程名,比如Mac自带终端会返回Terminal,iTerm2会返回iTerm2。- 将获取到的终端名称存入
current_terminal变量,再动态传入AppleScript命令中,确保操作的是当前正在使用的终端,而非固定指定某一个应用。
替代方案(针对特定终端)
如果只需要针对某类终端优化,也可以用它们自带的工具:
- iTerm2:可以直接用官方提供的命令行工具打开新标签:
(需要先在iTerm2的设置中启用「允许访问辅助功能」并安装命令行工具)iterm2 new-tab - Terminal:没有官方命令行工具,上述通用方案是最稳妥的选择。
内容的提问来源于stack exchange,提问作者Ian Steffy
相关产品推荐
相关产品推荐

