다른 셸에서 크론 작업 실행

다른 셸에서 크론 작업 실행

cron특정 셸(Zsh)에서 스크립트를 실행하고 싶습니다 . 나는 다음이 효과가 있다고 생각합니다.

00 02 * * * exec zsh; /path/to/script.sh

하지만 분명히 그렇지 않습니다. 왜 그렇습니까?

또한, 내가 어떻게 뭔가를 찾을 수 있는지 궁금합니다.껍데기그리고초기화 스크립트croncrontab에서 항목을 실행하기 전에 실행하시겠습니까?

답변1

어때요?

00 02 * * * exec /usr/bin/zsh /path/to/script.sh

그러면 zsh에게 스크립트를 실행하라고 지시합니다. 이제 zsh에서 실행되기를 원합니다. 괜찮습니다. 시작 부분에 shebang을 추가하기만 하면 됩니다.

#!/usr/bin/zsh
the_rest

답변2

Cron은 Cron에서 여러 환경 변수 /etc/crontab, 특히 SHELLPATH. SHELL기본값은 입니다 /bin/sh. 따라서 스크립트에서 변경되거나 달리 지정 cron되지 않는 한 sh.

관련 정보