cron
특정 셸(Zsh)에서 스크립트를 실행하고 싶습니다 . 나는 다음이 효과가 있다고 생각합니다.
00 02 * * * exec zsh; /path/to/script.sh
하지만 분명히 그렇지 않습니다. 왜 그렇습니까?
또한, 내가 어떻게 뭔가를 찾을 수 있는지 궁금합니다.껍데기그리고초기화 스크립트cron
crontab에서 항목을 실행하기 전에 실행하시겠습니까?
답변1
어때요?
00 02 * * * exec /usr/bin/zsh /path/to/script.sh
그러면 zsh에게 스크립트를 실행하라고 지시합니다. 이제 zsh에서 실행되기를 원합니다. 괜찮습니다. 시작 부분에 shebang을 추가하기만 하면 됩니다.
#!/usr/bin/zsh
the_rest
답변2
Cron은 Cron에서 여러 환경 변수 /etc/crontab
, 특히 SHELL
및 PATH
. SHELL
기본값은 입니다 /bin/sh
. 따라서 스크립트에서 변경되거나 달리 지정 cron
되지 않는 한 sh
.