2014-11-30 1 views
2

시스템 이벤트에 따라 bg에서 실행되고 사용자에게 메시지를 출력하는 BASH 스크립트가 있습니다. 내 메시지는 이러한 메시지의 반향 후 사용자가 프롬프트 라인으로 돌아가려면 Enter 키를 눌러야한다는 것입니다. 인쇄 된 메시지에 새로운 행을 추가하는 것이 여전히 도움이되지 않습니다. 왜냐하면 그것이 bg에서 나왔고 사용자 쉘에서 오는 것이 아니기 때문입니다. 누구나 우아한 & 사용자가 프롬프트 라인으로 다시 돌아 가게하는 간단한 해결책이 있습니까?BASH 백그라운드 프로세스 인쇄가 프롬프트 라인에서 사라짐

내가 여기에 어떤 도움을 주셔서 감사합니다 ..

+0

나는 그 사실을 알고 싶습니다. 사실 아주 성가 시게 할 수있는 기능입니다. 화면에서 지저분한 결과물을 줄이는 데 도움이되는 것은 백 그루브에서 해당 화면의 출력 전후에 충분한 빈 줄을 추가하는 것입니다. 그러나 그것은 enter를 누를 필요성을 제거하지 않습니다. – tvCa

답변

1

당신은 프롬프트에 도착 enter 키를 누릅니다 필요하지 않습니다. 출력이 인쇄되기 전에 프롬프트에 있던 여전히입니다. 명령을 입력하고 엔터를 치면됩니다. (ctrl-l을 입력하여 빈 명령을 입력하려면 Enter 키를 누르지 말고 화면을 지울 수도 있습니다.)

여기서 문제는 백그라운드/대체 프로세스가 실행중인 셸 세션과 아무 관계가 없으므로 터미널이 그것을 집어 넣을 때마다 단순히 출력을 쓰는 것입니다. 이 프로세스는 제어 시퀀스를 사용하여 출력 위치를 제어 할 수 있습니다 (그러나 실제로 작동하는지는 알 수 없습니다).

내가 알고있는 이것에 관해서는별로 할 점이 많지 않다. 그리고 그것은 실제적인 어떤 문제도 아닙니다.