나는 대부분의 상자에서 tmux를 사용하지만 전부는 아닙니다.
내 .bashrc 파일에 다음 줄이 있습니다.
[ -z "$TMUX" ] && export TERM=xterm-256color && exec tmux
tmux가 존재하면 이를 호출합니다.
나아이디어이는 [ -z $TMUX ]
tmux가 존재하는 경우에만 사용된다는 것을 의미합니다.
그러나 tmux가 없는 다른 시스템에서는 다음과 같은 결과를 얻습니다.
-bash: 실행: tmux: 찾을 수 없음
그리고 로그인 시도가 실패합니다
내 메인 시스템에는
$ echo $TMUX
/private/var/folders/ks/266xy5lj7x35gfj4csc66444b48rvq/T/tmux-373580663/default,55084,4
나도 시도했지만 [ $TMUX ]
(예: 없이 -z
) 도움이 되지 않았습니다.
또한 Ubuntu 및 OSX를 위한 강력한 솔루션을 찾고 있습니다.
답변1
echo $TMUX
회의 중에 이런 일을 했나요 tmux
? TMUX
세션에서만 설정되기 때문입니다 .
시도 해봐:
[ -z "$TMUX" ] && command -v tmux >/dev/null && TERM=xterm-256color exec tmux
답변2
tmux
좋습니다. 존재할 때만 시작하고 싶다면$PATH
그리고아직 실행되지 않은 경우 다음을 수행할 수 있습니다.
command -v tmux >/dev/null && ${TMUX+:} TERM=xterm-256color exec tmux
더 짧게:
tmux -c "${TMUX+!} :" 2>/dev/null && exec tmux -2
두 번째 요구 사항은 tmux
설정되지 않은 경우 0을 반환하고, true인 경우 셸은 256색을 적용합니다. 실행할 수 있고 환경 변수가 존재하지 않는 경우에만 true를 반환합니다.${TMUX}
&&
tmux -2
tmux
$PATH
$TMUX
답변3
사용
which tmux && export TERM=xterm-256color && exec tmux
tmux
존재 하는 경우 바이너리에 대한 경로 which tmux
로 평가되므로 . 그렇지 않은 경우 빈 문자열로 평가되므로 .tmux
true
tmux
false