无法创建指定的窗格

无法创建指定的窗格

我正在尝试创建一个 tmux 脚本来执行以下操作

  • 第一个参数需要“开始”或“停止”
  • 第二个参数采用“会话名称”
  • 第三个参数需要“两个”或“三个”或无,用于创建窗格
  • 第4个参数采用“会话路径”

脚本文件

#!/bin/bash

SESSION=$2
if [ $1="start" ] && [ $3="two" ]; then
  echo "Starting a session with $3 window pane"
  tmux new -session -d -s $SESSION
  tmux new-window -t $SESSION:2 -n $3
  tmux select-window -t $SESSION:2
  tmux split-window -h
  tmux attach -t $SESSION
elif [ $1="start" ] && [ $3="three" ]; then
  echo "Starting a session with $3 window pane"
  tmux new -session -d -s $SESSION
  tmux new-window -t $SESSION:3 -n $3
  tmux select-window -t $SESSION:3
  tmux split-window -h
  tmux split-window -h
  tmux attach -t $SESSION
else
  echo "Starting a session with no window pane"
  tmux new -session -d -s $SESSION
  tmux new-window -t $SESSION:3 -n $3
  tmux select-window -t $SESSION:3
  tmux attach -t $SESSION
fi

我能够创建具有 2 个窗口窗格的 tmux 会话,但无法创建 3 个窗口窗格。当我通过时是否执行 elif?

script.sh start three three

对于会话路径第四个参数,这是正确的语法吗?

tmux send-keys $4 C-m

答案1

这修复了创建 2 或 3 个窗格的问题:

#!/bin/bash

SESSION=$2

case $1 in
  start)
    echo "starting session"
    if [ $3 == "two" ]; then
      echo "Creating 2 window pane"
      tmux new -session -d -s $SESSION
      tmux new-window -t $SESSION:2 -n 'two'
      tmux select-window -t $SESSION:2
      tmux split-window -h
      tmux attach -t $SESSION
    elif [ $3 == "three" ]; then
      echo "Creating 3 window pane"
      tmux new -session -d -s $SESSION
      tmux new-window -t $SESSION:3 -n 'three'
      tmux select-window -t $SESSION:3
      tmux split-window -h
      tmux split-window -h
      tmux attach -t $SESSION
    fi
    ;;
  stop)
    echo "stop session"
    ;;
    *)
    echo "Wooot!"
    ;;
esac

对于第四个参数,你可以尝试:

tmux send-keys "cd ${4}" Enter

相关内容