Não é possível criar painéis de janelas especificados

1

Estou tentando criar um script tmux que segue você

  • 1º parâmetro leva "start" ou "stop"
  • 2º parâmetro recebe "nome da sessão"
  • 3º parâmetro leva "dois" ou "três" ou nenhum, para criar painéis de janela
  • O quarto parâmetro recebe o "caminho da sessão"

script.sh

#!/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

Eu sou capaz de criar uma sessão tmux com 2 painéis de janela, mas incapaz de criar 3 painéis de janela. O elif é executado quando eu passo?

script.sh start three three

Para o quarto parâmetro do caminho da sessão, esta é a sintaxe correta?

tmux send-keys $4 C-m
    
por Jsdude 09.05.2017 / 10:01

1 resposta

1

Isso corrige a criação de 2 ou 3 painéis de janela:

#!/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

Para o quarto parâmetro, você pode tentar:

tmux send-keys "cd ${4}" Enter
    
por 09.05.2017 / 11:17

Tags