tmux bash는 기본적으로 tmux를 종료할 때 예외를 제외하고 bash를 종료합니다.

tmux bash는 기본적으로 tmux를 종료할 때 예외를 제외하고 bash를 종료합니다.

이것은 설명하기 매우 복잡하며 검색할 수 있는 간단한 설명을 상상할 수 없습니다.

내 현재 설정은 터미널을 열 때 이 줄로 인해

if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]]
then
        tmux && exit
fi

tmux가 즉시 시작됩니다. 명령 뒤에 tmux 래퍼 쉘이 && exit있으므로 tmux 를 종료하면 즉시 닫힙니다.tmux

나는 이것이 기본적으로 좋은 동작이라고 생각하지만, 드문 경우에는 둘러싸는 쉘을 종료하지 않고 tmux를 분리하거나 종료하고 싶습니다.

tmux의 종료 코드가 실행 되어 래핑 쉘의 종료 코드가 실행되지 않도록 exit 1tmux 내부로 이동하여 이 작업을 수행 할 수 있다고 생각했지만 내부적으로는 tmux가 종료 코드 0으로 종료되는 것처럼 보입니다 .!=0exitexit 1

기본적으로 캡슐화된 bash를 종료하지만 수동으로 변경할 수 있다는 목표를 달성하는 방법을 상상할 수 있는 사람이 있습니까?

답변1

다음을 수행하여 0이 아닌 종료 상태로 tmux를 분리할 수 있습니다:

tmux detach -E false

이를 위해 별칭을 만들 수도 있습니다.

쉘도 종료하려면 다음을 수행하십시오.

tmux detach -E false; exit

관련 정보