running at 명령은 스크립트를 즉시 실행합니다.

running at 명령은 스크립트를 즉시 실행합니다.

특정 시간에 서버를 중지하고 시작하기 위해 "at" 명령을 사용해 보았지만 어떤 이유에서인지 스크립트가 즉시 실행됩니다. 이를 위해 다양한 방법을 시도했지만 항상 실행됩니다. 내가 뭘 잘못했나요? 나는 이것을 시도한다:

./stop | at 03:52 092421

이와 같이:

./start | at 04:00 tommorow

답변1

내가 뭘 잘못했나요?

./stop(또는 )에 전화 중입니다 ./start. at누가 즉시 스크립트를 실행하는지가 아닙니다 . 당신이에요.

./stop | at …동시에 당신 에 의해 ./stop실행됩니다 at. 이것이 |셸에서 Pipe()가 작동하는 방식입니다. 이것산출에서부터 ../stopat당신이 원하는 것이 아닌가요?

at나중에 실행하려는 명령을 표준 입력의 문자열로 예상합니다. ./stop전달하려는 출력 대신물론 ./stop. 문자열을 파이프하는 기본 방법은 다음과 같습니다 echo.

echo './stop' | at …

그러면 후자의 도구 echoat이전 도구의 출력을 사용하게 됩니다. 출력은 실제로 ./stop당신이 원하는 것입니다.

관련 정보