
현재 실행 중인 명령이 종료된 후 사용자가 명령을 실행할 수 있는 터미널 에뮬레이터가 있습니까?
&&
명령을 연결하는 방법(예: 또는 를 통해)에 대한 설명이 아닌 소프트웨어를 찾고 있습니다 ;
. 단지 다른 일이 끝난 후에 뭔가를 하고 싶지만 모든 것을 미리 계획하지는 않는 경우가 많습니다. "현재 명령이 완료된 후 실행"이라는 작은 상황에 맞는 메뉴 항목이 새 터미널 창을 열면 정말 멋진 일이 될 것입니다.
답변1
Bash CLI를 사용하고 있다고 가정합니다. 미리 계획하려는 정도에 따라 이를 수행하는 방법에는 최소한 두 가지가 있습니다.
및 명령을 입력한 후 enter해당 명령이 완료되면 다른 명령을 실행하기로 결정한 경우 다음을 수행할 수 있습니다.
001 $ date; sleep 10
002 Mon, Jan 25, 2016 3:08:35 PM
003 tty; date
004 $ tty; date
005 /dev/pty2
006 Mon, Jan 25, 2016 3:08:45 PM
노트:
- 줄 번호("001 ...")가 추가됩니다.
- Line 001: 두 개의 명령이 로 인해 순차적으로 실행되고 ;, 두 번째 명령은 오래 실행됩니다.
- 002행: 참조용으로 001행의 'date'에서 즉시 출력됩니다.
- 003행: 001행의 'sleep' 명령이 계속 실행되는 동안 사용자가 추가 명령을 입력하면 입력 내용이 에코되지만 'sleep'이 완료될 때까지 해석되지 않습니다.
- 004행: $001행의 두 번째 명령 실행이 끝났음을 알리는 프롬프트가 나타나고 나머지는 003행이 다시 에코됩니다.
- Line 005: line 003에 입력된 'tty' 명령의 출력
- 006행: 003행에 입력된 'date' 명령의 출력, 002행과 비교
그러나 초기 명령 후에 다른 것을 시작하고 싶다는 것을 미리 알고 있지만 아직 무엇을 모르는 경우 다음과 같이 명시적으로 기다릴 수 있습니다.
006 $ date; sleep 20 &
007 Mon, Jan 25, 2016 3:13:52 PM
008 [1] 504840
009 $ wait 504840; tty; date
010 [1]+ Done sleep 20
011 /dev/pty2
012 Mon, Jan 25, 2016 3:14:12 PM
노트:
- Line 006: 참조용 'date', 그리고 final을 사용하여 'sleep' 명령이 백그라운드로 푸시됩니다.&
- 007행: 참고용으로 006행의 'date' 출력
- 라인 008: &라인 006의 출력, 'sleep' 명령의 PID 제공
- 009행: 'wait'는 명명된 PID가 있는 프로세스가 완료될 때까지 기다립니다.
- 010행: 006행의 'sleep'이 완료된 후 'tty; 날짜'로 해석됩니다.
- 011행: 009행의 'tty' 출력
- 012행: 009행의 'date' 출력, 007행과 비교
답변2
현재 명령이 실행되고 있는 셸 창에 새 명령을 입력하거나 붙여 넣을 수 있으며, 셸은 이를 확인하고 현재 명령이 완료된 후 실행합니다.
추가 메뉴 항목이 필요하지 않습니다.
예:
$ command1
command2
$ $
(셸이 command1
시작하기 전에 실행 후 프롬프트를 표시하기 때문에 반복되는 프롬프트가 인쇄됩니다 command2
).
command1
다음 과 같이 죽이면 주의하세요.kill
, command2
즉시 실행되지만 Ctrl-C이 셸을 입력하면 중단됩니다.둘 다명령.