我使用了 tmux.sh 示例https://wiki.ubuntuusers.de/tmux/#Bedienung。现在,每次启动“tmux”时,我都会收到一条消息“会话应小心嵌套,取消设置 $TMUX 以强制”。但据我了解, tmux 在这种情况下并不嵌套。
我的 tmux.sh 现在看起来如下:
#!/bin/bash
SESSION=main
#tmux="tmux -2 -f ~/.tmux.conf"
tmux="tmux -2"
# if the session is already running, just attach to it.
$tmux has-session -t $SESSION
if [ $? -eq 0 ]; then
# echo "Session $SESSION already exists. Attaching."
sleep 1
$tmux attach -t $SESSION
exit 0;
else
# create a new session, named $SESSION, and detach from it
$tmux new-session -n Werkbank -d -s $SESSION
$tmux split-window -h -t $SESSION:1
$tmux new-window -n "SysA|SysB" -t $SESSION:2 'ssh A'
$tmux split-window -h -t $SESSION:2 'ssh B'
$tmux new-window -n "GwA|GwB" -t $SESSION:3
$tmux split-window -h -t $SESSION:3
$tmux select-window -t $SESSION:1
$tmux attach -t $SESSION
fi
答案1
将以下内容添加到脚本的开头应该可以防止此类错误:
# If script is run inside tmux, exit without doing anything
if [[ -n $TMUX ]]; then
echo "Nested tmux sessions not supported!"
exit 0
fi