...시연이 재개되었습니다.

...시연이 재개되었습니다.

아마도 이것은 "at" 명령 사용에 관한 질문이라기보다는 스크립팅 및 터미널 사용법에 관한 일반적인 질문에 더 가깝습니다. 어쨌든, 나는 at 명령을 사용하여 그 동작을 처리하는 방법과 이를 심각한 스크립트에서 사용하기 전에 이를 제어하는 ​​방법을 탐구하고 있습니다.

저는 at-test.sh라는 간단한 스크립트를 작성하여 $HOME에 저장하고 실행 가능하게 만들었습니다.

#!/bin/sh
echo $(date +%H:%M:%s) > /dev/pts/9
exit 0

그런 다음 실행하십시오.

at -f './at-test.sh' now + 1 minutes

예상대로 실행되지만 쉘 프롬프트로 돌아가려면 Ctrl+C를 눌러야 합니다. 나중에 Enter를 누르면 프롬프트도 복원된다는 것을 알게 되었습니다. 스크립트의 명령을 통해 프롬프트를 복원하는 방법이 있습니까?

답변1

작업을 성공적으로 제출했으며 at날짜가 (귀하의) 터미널(위치)에 성공적으로 인쇄되었습니다 /dev/pts/9. 프롬프트를 인쇄하고 입력을 기다리는 쉘도 있습니다.

다음은 무슨 일이 일어나는지 시뮬레이션한 것입니다.

your-prompt-here$ at -f './at-test.sh' now + 1 minutes
job 1 at Fri Mar  8 20:13:00 2019
your-prompt-here$ 

...시연이 재개되었습니다.

your-prompt-here$ 20:14:1552093897
echo I am still here
I am still here
your-prompt-here$

보시다시피 내 쉘은 명령을 수락했습니다 . 작업이 내 터미널 전체에 스크롤되었기 echo때문에 내 커서는 내가 "예상한" 위치에 전혀 없었습니다 .at

관련 정보