접두사 일치로 인해 'tmx'(tmux)가 기존 세션에 잘못 연결됩니다.

접두사 일치로 인해 'tmx'(tmux)가 기존 세션에 잘못 연결됩니다.

"tmx"를 사용하여 "foos"라는 tmux 세션을 만들었고 이제 후자가 전자의 접두사인 "foo"라는 새 세션을 만들고 싶습니다. 하지만 tmux는 나를 기존 세션에 연결해 줍니다.

지정된 세션을 직접 생성하고 싶습니다. 더 좋은 점은 모든 컨텍스트에서 세션을 처리할 때 "tmx"를 접두사 일치에서 정확한 일치로 전환하고 싶습니다.

내 "tmx" 스크립트에는 많은 일이 진행되고 있지만 관련 부분은 다음과 같습니다.

  if tmux has-session -t "${name}" &> /dev/null; then
    exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" attach-session -t "${name}"
  else
    exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" new-session -s "${name}"
  fi

답변1

~에서man 1 tmux:

target-session다음을 순서대로 시도해 보세요.

  1. 세션 ID 앞에 $.
  2. 세션의 정확한 이름( list-sessions명령으로 나열됨)
  3. 예를 들어 세션 이름의 시작 부분은 mysess이름이 지정된 세션과 일치합니다 mysession.
  4. fnmatch(3)패턴 일치 세션 이름입니다.

따라서 이는 의도적으로 설계된 것입니다. 정확한 일치가 없으면 덜 정확한 일치도 있게 됩니다. 하지 않는 한……

세션 이름 앞에 접두사가 붙은 경우 =정확한 일치만 허용됩니다. 따라서 대신 =mysess정확한 일치만 일치됩니다 .mysessmysession

해결책: -t "=${name}"적절하게 사용하십시오.

관련 정보