지정된 창을 만들 수 없습니다.

지정된 창을 만들 수 없습니다.

다음을 수행하기 위해 tmux 스크립트를 만들려고합니다.

  • 첫 번째 매개변수"시작" 또는 "중지"가 필요합니다.
  • 두 번째 매개변수"세션 이름"을 가져옵니다.
  • 세 번째 매개변수창을 생성하려면 "2개" 또는 "3개"가 필요하거나 없음이 필요합니다.
  • 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

관련 정보