
나는 이름이 붙은 쉘을 썼다.t.sh 그 내용은 다음과 같습니다:
touch 88888
내가 사용하는 명령은
sh t.sh | at 03:13Jun15
이 명령을 실행하면 화면에 다음과 같은 내용이 표시됩니다.
warning: commands will be executed using /bin/sh
job 9 at Sun Jun 15 03:13:00 2014
이것은 2014년 6월 15일 일요일 03:13:00에 실행될 것이라는 것이 매우 분명합니다.
하지만 내 폴더를 확인해보니 거기에 88888 파일이 존재하는 것을 발견했습니다. 그것을 제거하고 agian을 시도했지만 여전히 동일한 결과입니다.
여기에 무슨 문제가 있습니까? bash/sh가 될까요? /bin/sh에 의해 실행될 것이라는 것을 보았기 때문에?
답변1
at
표준 입력 또는 플래그를 지정한 경우 파일에서 명령을 읽습니다 -f
. 무엇을 sh t.sh | at [time]
하는가:
1. execute the shell script t.sh *right now*;
2. pipe the output of the shell script to at.
하지만 스크립트에는 출력이 없으므로 일요일에 실행할 것이 없습니다.
당신이 원하는 것은 입니다 at 03:13Jun15 -f t.sh
.