아마도 이것은 "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