이와 같은 터미널(urxvt와 같은 터미널)을 시작하면 새 터미널이 시작되지만 5초 후에 프로그램이 종료되었기 urxvt -e sleep 5
때문에 터미널이 닫힙니다 . sleep
명령줄의 프로그램으로 터미널을 시작하고 해당 프로세스가 끝난 후에도 터미널을 활성 상태로 유지하려면 어떻게 해야 합니까?
실제로 제가 정말로 하고 싶은 것은 urxvt -e tmux new-session top
실행 중인 tmux 세션을 사용하여 urxvt를 여는 것 입니다 top
. 그러나 q
end를 누르면 top
tmux와 urxvt도 종료됩니다. 종료할 때 top
tmux의 쉘로 이동하고 싶습니다.
답변1
실행하라고 지시한 명령을 실행하는 동안 터미널(tmux)이 닫힙니다. 대화형 셸을 먼저 실행하려면 top
그렇게 하도록 지시해야 합니다. 명령을 결합하는 것은 셸의 작업이므로 중간 셸(대화형 아님)을 실행하고그것이 두 명령을 연속적으로 실행하십시오.
urxvt -e tmux new-session sh -c 'top; "$SHELL"'
답변2
한 가지 가능성:
gnome-terminal -e sh -c "sleep 5; bash"
요점은 bash
초기 명령이 완료된 후(이 경우) 셸을 실행하는 것입니다. 안타깝게도 gnome-terminal -e 'sleep 5; bash'
전체 문장이 sleep 5; bash
명령문으로 해석되기 때문에 단순성은 불가능합니다.