현재 쉘을 열 때 tmux를 시작하고 있는데, 쉘에 대한 다음 구성입니다.
[[ $TMUX == "" ]] && tmux new-session
내 셸을 시작하고 tmux를 (첫 번째) 연결되지 않은 세션에 연결할 수있는 방법이 있습니까? 셸이 이미 해당 세션에 연결되어있는 경우 연결하고 싶지 않습니다.
적절한 형식을 사용 tmux list-session
하고 출력을 구문 분석 하여 원하는 것을 얻을 수 있다고 생각합니다 .
if [ -z "$TMUX" ]; then
attach_session=$(tmux 2> /dev/null ls -F \
'#{session_attached} #{?#{==:#{session_last_attached},},1,#{session_last_attached}} #{session_id}' |
awk '/^0/ { if ($2 > t) { t = $2; s = $3 } }; END { if (s) printf "%s", s }')
if [ -n "$attach_session" ]; then
tmux attach -t "$attach_session"
else
tmux
fi
fi
여기의 형식 tmux ls
은 각 세션에 대해 연결된 클라이언트 수, 마지막으로 연결된 시간 (또는 이전에 연결되지 않은 경우 1 tmux new -d
) 및 세션 ID를 제공합니다. AWK 스크립트는이 정보를 사용하여 현재 연결된 클라이언트가없는 가장 최근에 연결된 세션을 찾고 해당 ID를 출력합니다. 그런 다음 서버가 시작되지 않았거나 모든 기존 세션이 연결된 경우와 같이 해당 세션이 발견되지 않으면 해당 세션에 연결하거나 새 세션을 만듭니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다