한 터미널에서 다른 터미널로 명령을 보내 면서 tmux
깨달았습니다.
$ tmux send -t mySession "text" ENTER
올바르게 전송 text
되었지만
$ tmux send -t mySession "up" ENTER
다시 보냈습니다 text
. 아마도 up
텍스트로 해석되지 않고 키워드 키 위쪽 화살표로 해석되었기 때문일 것입니다.
비슷하게,
$ tmux send -t mySession "3" ENTER
올바르게 전송 3
되었지만
$ tmux send -t mySession "-3" ENTER
tmux: unknown option -- 3
usage: send-keys [-lRM] [-t target-pane] key
이 오류 메시지와 함께 실패하고 이 순진한 탈출 시도는 실패합니다.
$ tmux send -t mySession "\-3" ENTER
3
예상하지 못한 일이 다시 전송되었습니다 -3
.
어쨌든, 나는 tmux가 인수를 해석하고 이해하는 방식에 대해 뭔가 빠졌다고 확신합니다. 내가 여기서 무엇을 놓치고 있는 걸까요?
mytmuxcommand "<text>" ENTER
항상 다음과 같이 해석되도록 하려면 어떻게 해야 합니까?"실제값을 보낸 <text>
후 ENTER 키를 보내세요"?
답변1
문자열을 문자 그대로 보내려면 -l
to 옵션을 사용할 수 있지만 send-keys
, 뒤에도 더 많은 옵션이 있을 수 있으므로 시작 부분에서 더 이상 옵션을 찾지 않으려면 (empty string)과 같은 것을 -l
사용해야 합니다 .''
-
Enter와 같은 키 이름과 리터럴을 혼합하여 일치시킬 수 없으므로 결국 다음과 같은 두 가지 명령을 제공하게 됩니다.
tmux send-keys -t session -l '' -3 \; send-keys -t session Enter