내 스크립트에는 다음 코드가 있습니다.
mapfile results < <(mysql --batch -u $DB_USERNAME -p$DB_PASSWORD $DB_DATABASE < query.sql)
명령줄에서 실행하면 정상적으로 작동합니다. 그러나 /var/spool/cron/root
then 변수에서 실행 하면 $results
변수에는 아무것도 포함되지 않습니다.
이유와 해결 방법은 무엇입니까?
답변1
command
줄 의 일부가 crontab
해석되므로 더 간단한 구문을 지원하므로 명령을 스크립트 /bin/sh
로 래핑 하고 해당 부분에서 해당 스크립트를 호출해야 합니다.bash
command
또한 환경 변수( DB_*
, PATH
) 및 mysql
설정을 환경에 수동으로 신중하게 전파해야 합니다 cron
.