Tmux
創建視窗時選擇 tmux 會話
tmux 將在目前會話下創建新視窗(使用綁定鍵 c)。我想在創建視窗時選擇會話。
此腳本在直接執行時工作正常,但在使用 bind key 從 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
你不能使用
read
fromrun-shell
因為它沒有標準輸入。您可以在窗格中執行您的腳本(使用split-window
)。或者,如果您使用的是 tmux 3.1,則可以display-menu
使用 3.2-rc 或 master 生成菜單,或者使用display-popup
.如果要同時更改會話、視窗和窗格,可以使用該
switch-client
命令。