![tmux 전송 키 작업 중에 일시 중지를 도입하는 방법은 무엇입니까?](https://linux55.com/image/196664/tmux%20%EC%A0%84%EC%86%A1%20%ED%82%A4%20%EC%9E%91%EC%97%85%20%EC%A4%91%EC%97%90%20%EC%9D%BC%EC%8B%9C%20%EC%A4%91%EC%A7%80%EB%A5%BC%20%EB%8F%84%EC%9E%85%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
send-keys
tmux 를 사용하고 싶습니다원격 서버에 로그인하면 일련의 명령을 실행합니다.
연결된 답변에서는 단일 명령이 사용됩니다. 나는 그것들을 일련으로 배치할 수 있다는 것을 알았지만, 그 중 두 개 이상을 성공적으로 실행한 적이 없습니다. 그들 사이에 일시 중지를 도입하는 것이 가능합니까(원격 호스트가 응답하기 전에 tmux가 그 중 하나를 실행하는 것이 문제라고 가정하기 때문에)?
이 명령은 로그인한 사용자에게 변경 사항을 적용하며 이는 지금까지 문제가 되지 않았지만 실행 중인 서버에 스크립트를 둘 수 없는 이유 중 하나입니다. (tmux는 사용자를 변경해도 상관하지 않지만 스크립트는 그렇게 할 수 없으며 계속 실행됩니다.)
그렇다면 2개 이상의 명령을 어떻게 얻을 수 있습니까?
관련이 있는지 의심스럽지만 zsh를 로컬로 실행하고 서버에서 bash를 실행하고 있습니다.
답변1
저도 질문을 완전히 이해하지는 못하지만,예상되는도움이 될 수도 있습니다. 대화형 세션에 입력을 보내고 응답을 구문 분석하여 로그인, 명령 완료 등을 기다리는 수동 지연을 제거할 수 있습니다.
답변2
tmux 명령 사이에 "잠자기"만 하세요...
tmux send-keys -t 1 "echo -n hello " Enter
sleep 5
tmux send-keys -t 1 "echo world" Enter
그러나 일반적으로 기다리는 이유는 계속하기 전에 어떤 일이 발생해야 하기 때문입니다. 고정된 간격에 의존하는 것은 좋은 엔지니어링이 아닙니다. expect
@FazJaxton이 제안한 것처럼 올바른 스크립트를 사용하는 것이 더 안전합니다.