원격 시스템에서 tmux 세션을 시작하고 해당 tmux 세션에서 명령을 실행하는 방법

원격 시스템에서 tmux 세션을 시작하고 해당 tmux 세션에서 명령을 실행하는 방법

수년 동안 사용해 왔지만 최근 시스템을 업그레이드할 때(Ubuntu 14.04에서 16.04로) 중단된 다음 코드가 있습니다.

_SNAME=$1-$2

TERM=xterm ssh x.y.z.com -t tmux new-session -A -s $_SNAME \'ssh $1\'

이것은 나에게 효과적입니다.

  1. tmux 세션이 존재하는 경우 해당 세션에 연결합니다.
  2. tmux 세션이 없으면 새 tmux 세션을 만들고 SSH를 통해 원격 서버에 연결합니다.

하지만 OS를 업그레이드한 후 작동이 중단되어 이제 [exited].

\'ssh $1\'문제는 tmux 세션에서 실행할 명령을 지정할 때 발생하는 것 같습니다 (일부).

tmux가 구문을 변경했습니까? 이 작업을 수행하는 다른 방법을 찾았 tmux send-keys지만 거의 깨끗하지 않습니다.

답변1

귀하의 인용은 (아마도) 혼란스럽습니다. 아마도 당신의 명령이 나에게 효과가 있는 것 같기 때문일 것입니다. 작은따옴표를 보내지 말고 명령이 인용되었는지 확인하세요.

_SNAME="$1-$2"
TERM=xterm ssh -t x.y.z.com tmux new-session -A -s "$_SNAME" "ssh $1"

발생할 수 있는 문제는 'ssh명령을 찾을 수 없다는 것입니다.

마지막 인수로 사용해 볼 수도 있지만 "'ssh $1'"이는 이미 시도하고 있는 것과 동일합니다.

관련 정보