창 생성 시 tmux 세션 선택

창 생성 시 tmux 세션 선택

tmux는 현재 세션 아래에 새 창을 만듭니다(키 바인딩 c 사용). 창을 생성할 때 세션을 선택하고 싶습니다.

스크립트는 직접 실행하면 제대로 작동하지만 바인드 키를 사용하여 tmux에서 호출하면 실패합니다 bind-key C run-shell '~/tmux/tmux.window.sh'. 출력은 다음과 같습니다'tmux/tmux.window.sh' returned 1

#!/bin/sh

export PATH=$PATH:/usr/local/bin

# present menu for user to choose which workspace to open
PS3="option: "
options=($(tmux list-sessions -F "#S") "in new session" )
select opt in "${options[@]}"
do
    case $opt in
        "in new session")
            read -p "new session: " SESSION_NAME
            TMUX=  tmux new -s "$SESSION_NAME"
            break
            ;;
        *)
            tmux new-window -t ${opt}:
            tmux attach-session -t ${opt}
            break
            ;;
    esac
done

답변1

표준 입력이 없기 때문에 readfrom을 사용할 수 없습니다 . run-shell창에서 스크립트를 실행할 수 있습니다( 사용 split-window). 또는 tmux 3.1을 사용하는 경우 메뉴를 생성하거나 display-menu3.2-rc 또는 master를 사용하는 경우 팝업을 사용할 수 있습니다 display-popup.

세션, 창, 분할창을 모두 한 번에 변경하려는 경우 이 switch-client명령을 사용할 수 있습니다.

관련 정보