답변:
각 tmux 창은 단일 pty (의사 tty)에 대한 인터페이스입니다. 분리되지 않은 창에는 단일 창이 있습니다. 분할 창에는 여러 개의 창이 있습니다.
tmux 는 초기 명령으로 시작된 분할 창에 추가 프로세스를 추가하는 방법을 제공하지 않습니다. 해당 터미널에 대한 작업 제어 1 을 제공하는 것은 해당 초기 명령 프로세스 (일반적으로 쉘)에 달려 있습니다.
창에서 현재 실행중인 항목을 클로버하려는 경우 respawn-pane -k
기존 명령을 종료하고 새 명령 (예 :)으로 바꾸는 데 사용할 수 있습니다 respawn-pane -t sessionname:0.4 -k 'some -new command'
.
그러나 현재 창에서 실행중인 항목을 유지하려면 단순히 "입력"하는 더 나은 옵션이 없을 수도 있습니다 send-keys
.
다음과 같이 스크립트를 작성해도됩니다 (마지막으로 첨부하십시오.
session=whatever
window=${session}:0
pane=${window}.4
tmux send-keys -t "$pane" C-z 'some -new command' Enter
tmux select-pane -t "$pane"
tmux select-window -t "$window"
tmux attach-session -t "$session"
온, 그 주 send-keys
명령, 실제로 문자를 입력해야
E n t e r말해, tmux
창에 줄 바꿈 키를 보낼 수 있습니다. 당연히 모든 명령은 Enter키로 끝납니다 .
1 작업 제어는 tty를 제어 터미널로 사용하는 단일 세션의 여러 프로세스 그룹 간의 중재입니다. 즉는는 Ctrl+ Z키 중단하고 jobs
, fg
그리고 bg
쉘 명령.
C-m
대신 사용할 수 있습니다 Enter
. 그건 같은거야. 또한, tmux
쉽게 사용하여 왼쪽 / 오른쪽 창에 보낼 수 -t right
또는 -t left
. 다른 창에서 창에 주소를 지정하려면 창 번호와 마침표를 접두사로 지정하십시오 -t 0.right
.
이제 간단한 Bash 함수를 작성하여 키 시퀀스를 인수로 가져 와서 대상 창으로 쉽게 보낼 수 있습니다.
#{session_name}:#{window_index}.#{pane_index}
명령 줄을 보낼 창을 빠르게 볼 수 있도록 상태 표시 줄에 넣었습니다 .