tmux로 셸을 시작하고 연결되지 않은 경우에만 세션에 연결합니다.

세르게이 허버트

현재 쉘을 열 때 tmux를 시작하고 있는데, 쉘에 대한 다음 구성입니다.

[[ $TMUX == "" ]] && tmux new-session

내 셸을 시작하고 tmux를 (첫 번째) 연결되지 않은 세션에 연결할 수있는 방법이 있습니까? 셸이 이미 해당 세션에 연결되어있는 경우 연결하고 싶지 않습니다.

Josh Brobst

적절한 형식을 사용 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

연결되지 않은 첫 번째 tmux 세션에 연결하거나 연결되지 않은 세션이없는 경우 새 세션을 생성하려면 어떻게해야합니까?

분류에서Dev

.htaccess에서 URL을 다시 작성하고 더미 경로는 404 페이지로 연결되지 않지만 PHP 경고를 노출합니다.

분류에서Dev

tmux는 강제 종료 후 자동으로 세션에 다시 연결하고 다시 시작합니다.

분류에서Dev

연결하지 않고 tmux 세션에 입력을 보낼 수 있습니까?

분류에서Dev

UNIX 셸에서 타임 스탬프로 시작하지 않는 경우 줄을 이전 줄에 연결

분류에서Dev

WAN에서 VNC는 로컬로 프록시되지 않은 경우 ssh 5900 터널을 통해 연결하지 못합니다.

분류에서Dev

tmux는 연결하지 않고 세션의 기본 작업 디렉토리를 변경합니다.

분류에서Dev

Linux 셸 스크립트 : 존재하는 경우에만 프로그램을 실행하고 존재하지 않는 경우 무시합니다.

분류에서Dev

동일한 셸에서 여러 연결이 시작된 경우 백그라운드에서 실행중인 SSH 연결이 종료되지 않습니다.

분류에서Dev

인터넷에 연결되지 않은 경우 로컬 파일을로드합니다. 함수가 계속해서 자신을 호출합니다.

분류에서Dev

HTTPS 연결에 FiddlerCap을 사용하고 세션이 캡처되지 않습니다.

분류에서Dev

AWS Boto 연결은 Windows Python 셸에서만 작동합니다.

분류에서Dev

로그인 할 때마다 자격 증명을 지정하지 않고 Windows에서 putty로 SSH 연결을 시작합니다.

분류에서Dev

Terraform은 az 로그인을 실행하지 않고 aks 클러스터에 연결합니다.

분류에서Dev

Ubuntu Nautilus의 기본 파일 연결을 연결 프로그램 탭에 나열되지 않은 항목으로 설정하려면 어떻게합니까?

분류에서Dev

Ubuntu Nautilus의 기본 파일 연결을 연결 프로그램 탭에 나열되지 않은 항목으로 설정하려면 어떻게합니까?

분류에서Dev

MQTT 클라이언트가 연결되지 않은 경우에도 프로그램을 계속 실행하려면 어떻게해야합니까?

분류에서Dev

tmux가 bash의 세션에 연결되어 있는지 감지하는 방법은 무엇입니까?

분류에서Dev

인터넷에 연결되지 않은 경우 Chrome에서 탭을 자동으로 새로 고침하는 방법은 무엇입니까?

분류에서Dev

Tasker 연결되지 않은 경우에만 시간에 블루투스 끄기

분류에서Dev

Tasker 연결되지 않은 경우에만 시간에 블루투스 끄기

분류에서Dev

연결 후 값은 부동으로 변경되고 int에 남아 있지 않습니다 (연결 전에 변환하려고했습니다.)

분류에서Dev

MySQL은 2 열을 세로로 결합합니다 (연결을 요구하지 않음)

분류에서Dev

Android ConstraintLayout은 프로그래밍 방식으로 연결되지만 위에서 위로 만 작동합니다.

분류에서Dev

라우터 로그의 포트 80에서 연결을 시도하지만 서버 로그에서는 연결하지 않습니다.

분류에서Dev

VS 디버깅 : 시작되지 않은 프로세스에 연결

분류에서Dev

localhost IIS 8에 대한 SSL 연결은 매우 느리지 만 로컬이 아닌 시작 연결에서는 제대로 작동합니다.

분류에서Dev

인터넷에 연결되어 있다고 표시되지만 작동하지 않습니다.

분류에서Dev

인터넷에 연결되지 않은 경우 로컬 Wamp에서 "데이터베이스 연결 설정 오류"가 발생합니다.

Related 관련 기사

  1. 1

    연결되지 않은 첫 번째 tmux 세션에 연결하거나 연결되지 않은 세션이없는 경우 새 세션을 생성하려면 어떻게해야합니까?

  2. 2

    .htaccess에서 URL을 다시 작성하고 더미 경로는 404 페이지로 연결되지 않지만 PHP 경고를 노출합니다.

  3. 3

    tmux는 강제 종료 후 자동으로 세션에 다시 연결하고 다시 시작합니다.

  4. 4

    연결하지 않고 tmux 세션에 입력을 보낼 수 있습니까?

  5. 5

    UNIX 셸에서 타임 스탬프로 시작하지 않는 경우 줄을 이전 줄에 연결

  6. 6

    WAN에서 VNC는 로컬로 프록시되지 않은 경우 ssh 5900 터널을 통해 연결하지 못합니다.

  7. 7

    tmux는 연결하지 않고 세션의 기본 작업 디렉토리를 변경합니다.

  8. 8

    Linux 셸 스크립트 : 존재하는 경우에만 프로그램을 실행하고 존재하지 않는 경우 무시합니다.

  9. 9

    동일한 셸에서 여러 연결이 시작된 경우 백그라운드에서 실행중인 SSH 연결이 종료되지 않습니다.

  10. 10

    인터넷에 연결되지 않은 경우 로컬 파일을로드합니다. 함수가 계속해서 자신을 호출합니다.

  11. 11

    HTTPS 연결에 FiddlerCap을 사용하고 세션이 캡처되지 않습니다.

  12. 12

    AWS Boto 연결은 Windows Python 셸에서만 작동합니다.

  13. 13

    로그인 할 때마다 자격 증명을 지정하지 않고 Windows에서 putty로 SSH 연결을 시작합니다.

  14. 14

    Terraform은 az 로그인을 실행하지 않고 aks 클러스터에 연결합니다.

  15. 15

    Ubuntu Nautilus의 기본 파일 연결을 연결 프로그램 탭에 나열되지 않은 항목으로 설정하려면 어떻게합니까?

  16. 16

    Ubuntu Nautilus의 기본 파일 연결을 연결 프로그램 탭에 나열되지 않은 항목으로 설정하려면 어떻게합니까?

  17. 17

    MQTT 클라이언트가 연결되지 않은 경우에도 프로그램을 계속 실행하려면 어떻게해야합니까?

  18. 18

    tmux가 bash의 세션에 연결되어 있는지 감지하는 방법은 무엇입니까?

  19. 19

    인터넷에 연결되지 않은 경우 Chrome에서 탭을 자동으로 새로 고침하는 방법은 무엇입니까?

  20. 20

    Tasker 연결되지 않은 경우에만 시간에 블루투스 끄기

  21. 21

    Tasker 연결되지 않은 경우에만 시간에 블루투스 끄기

  22. 22

    연결 후 값은 부동으로 변경되고 int에 남아 있지 않습니다 (연결 전에 변환하려고했습니다.)

  23. 23

    MySQL은 2 열을 세로로 결합합니다 (연결을 요구하지 않음)

  24. 24

    Android ConstraintLayout은 프로그래밍 방식으로 연결되지만 위에서 위로 만 작동합니다.

  25. 25

    라우터 로그의 포트 80에서 연결을 시도하지만 서버 로그에서는 연결하지 않습니다.

  26. 26

    VS 디버깅 : 시작되지 않은 프로세스에 연결

  27. 27

    localhost IIS 8에 대한 SSL 연결은 매우 느리지 만 로컬이 아닌 시작 연결에서는 제대로 작동합니다.

  28. 28

    인터넷에 연결되어 있다고 표시되지만 작동하지 않습니다.

  29. 29

    인터넷에 연결되지 않은 경우 로컬 Wamp에서 "데이터베이스 연결 설정 오류"가 발생합니다.

뜨겁다태그

보관