echo 명령이 at 명령과 작동하지 않는 이유는 무엇입니까?


14

내가 입력하면 :

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 분 후에도 텍스트가 표시되지 않습니다.

답변:


23

at 명령은 등록 된 터미널에서 실행되지 않습니다. 이것은 일반적으로 이해가되지 않습니다 : 터미널이 더 이상 존재하지 않거나 다른 사용자가 사용 중일 수 있습니다. 명령이 실행될 때까지 로그 아웃했을 수도 있습니다.

at 명령의 출력은 이메일로 전송됩니다. 일부 이메일 프로그램에서 설정 한 외부 POP 또는 IMAP 계정이 아닌 로컬 Unix 이메일입니다. 로컬 이메일이 설정되지 않은 경우 명령의 출력이 손실됩니다. 로컬 이메일이 설정되지 않은 경우이 가이드 가 도움 될 수 있습니다.

at 명령이 터미널과 상호 작용하도록하려면 명시 적 리디렉션을 사용해야합니다. 예를 들면 다음과 같습니다.

echo "echo hello >$TTY" | at now + 1 min

이 스 니펫에서 변수 TTY는 셸에 의해 확장되므로에 대한 입력 at은과 같습니다 echo hello >/dev/pts/42.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.