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

如何编写Bash脚本创建多Tmux会话及每个会话的多窗口

给Tmux会话批量添加多窗口的脚本方案

要给每个已创建的Tmux会话添加额外窗口,使用tmux new-window命令即可,通过参数指定目标会话、工作目录和窗口名称。

基础修改版脚本

直接在每个会话创建命令后追加窗口创建指令:

#!/usr/bin/env bash

# 配置Project1会话
tmux new-session -ds Project1 -c ~/Development/project1 -n "() => {}"
tmux new-window -t Project1 -c ~/Development/project1 -n "Tests"
tmux new-window -t Project1 -c ~/Development/project1 -n "Git"

# 配置Project2会话
tmux new-session -ds Project2 -c ~/Development/project2 -n "() => {}"
tmux new-window -t Project2 -c ~/Development/project2 -n "Tests"
tmux new-window -t Project2 -c ~/Development/project2 -n "Git"

# 配置Components会话
tmux new-session -ds Components -c ~/Development/components -n "() => {}"
tmux new-window -t Components -c ~/Development/components -n "Tests"
tmux new-window -t Components -c ~/Development/components -n "Git"

# 配置dotfiles会话
tmux new-session -ds dotfiles -c ~/.dotfiles -n "() => {}"
tmux new-window -t dotfiles -c ~/.dotfiles -n "Tests"
tmux new-window -t dotfiles -c ~/.dotfiles -n "Git"

优化版(抽离重复逻辑)

如果后续需要添加更多会话,建议把重复逻辑封装成函数,减少冗余代码:

#!/usr/bin/env bash

create_tmux_session() {
  local session_name=$1
  local working_dir=$2
  # 创建初始会话和第一个窗口
  tmux new-session -ds "$session_name" -c "$working_dir" -n "() => {}"
  # 添加Tests窗口
  tmux new-window -t "$session_name" -c "$working_dir" -n "Tests"
  # 添加Git窗口
  tmux new-window -t "$session_name" -c "$working_dir" -n "Git"
}

# 批量调用函数创建会话
create_tmux_session "Project1" "~/Development/project1"
create_tmux_session "Project2" "~/Development/project2"
create_tmux_session "Components" "~/Development/components"
create_tmux_session "dotfiles" "~/.dotfiles"

参数说明:

  • -t 会话名:指定要操作的目标Tmux会话
  • -c 目录路径:设置窗口打开时的工作目录
  • -n 窗口名称:自定义窗口的显示名称

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:54:59