한 터미널 세션에서 다른 터미널 세션으로 터미널 출력을 지시하고 있습니다. 세션이 출력을 수신하면 프롬프트가 사라집니다. Enter를 누르면 프롬프트가 반환됩니다.
프롬프트를 자동으로 복원하는 방법에 대한 제안 사항이 있습니까?
예를 들어.
# ttys001
$ echo -e 'Notice that the prompt is not restored\ntill after pressing Enter.' > /dev/ttys002
$
# ttys002
$ Notice that the prompt is not restored
till after pressing Enter.
답변1
짧은 대답 - 예상대로 작동하지만 그렇게 할 수는 없습니다.
프롬프트는 실제로 "사라지지" 않습니다. 여전히 거기에 있고 명령을 기다리고 있습니다. 터미널에 명령(또는 기타 항목)을 입력할 때 키를 누르면 해당 문자만 입력으로 전송되며 실제로 키가 화면에 표시되지는 않습니다. 터미널은 이를 즉시 출력으로 화면에 표시하므로 키를 누르면 문자가 나타나는 것처럼 보일 수 있지만 실제로는 양방향 "대화"입니다. 마찬가지로 s001에서 s002의 터미널로 무언가를 에코하면 실제로 아무것도 중단하거나 프롬프트를 무효화하지 않고 해당 터미널의 출력에 문자를 에코하는 것입니다. s001에서 실행한 직후 s002에서 Enter를 누르기 전에 ls
s002(또는 다른 명령)를 입력하면 이 내용을 확인할 수 있습니다. echo
귀하의 메시지는 여전히 존재하며 귀하를 기다리고 있습니다. 방금 화면에 무언가를 추가했습니다.