내가 입력하면 :
at now + 1 min
at>play /usr/share/sounds/startrek.wav
at>ctrl+d
작동하므로 1 분 후에 실제로 소리가 재생됩니다.
그러나 내가 입력하면 :
at now + 1 min
at>echo "Teresa the green vegetable lover"
at>ctrl+d
쉘에서 오류 응답이 없지만 1 분 후에도 텍스트가 표시되지 않습니다.
내가 입력하면 :
at now + 1 min
at>play /usr/share/sounds/startrek.wav
at>ctrl+d
작동하므로 1 분 후에 실제로 소리가 재생됩니다.
그러나 내가 입력하면 :
at now + 1 min
at>echo "Teresa the green vegetable lover"
at>ctrl+d
쉘에서 오류 응답이 없지만 1 분 후에도 텍스트가 표시되지 않습니다.
답변:
at 명령은 등록 된 터미널에서 실행되지 않습니다. 이것은 일반적으로 이해가되지 않습니다 : 터미널이 더 이상 존재하지 않거나 다른 사용자가 사용 중일 수 있습니다. 명령이 실행될 때까지 로그 아웃했을 수도 있습니다.
at 명령의 출력은 이메일로 전송됩니다. 일부 이메일 프로그램에서 설정 한 외부 POP 또는 IMAP 계정이 아닌 로컬 Unix 이메일입니다. 로컬 이메일이 설정되지 않은 경우 명령의 출력이 손실됩니다. 로컬 이메일이 설정되지 않은 경우이 가이드 가 도움 이 될 수 있습니다.
at 명령이 터미널과 상호 작용하도록하려면 명시 적 리디렉션을 사용해야합니다. 예를 들면 다음과 같습니다.
echo "echo hello >$TTY" | at now + 1 min
이 스 니펫에서 변수 TTY
는 셸에 의해 확장되므로에 대한 입력 at
은과 같습니다 echo hello >/dev/pts/42
.