cron에 대해 SHELL=/bin/bash를 전역적으로 설정하는 방법

cron에 대해 SHELL=/bin/bash를 전역적으로 설정하는 방법

BASH_ENV배포 를 통해 /etc/environment크론 작업에 영향을 미치지 않는 것으로 나타났습니다.

SHELL=/bin/bash사용자의 crontab에 추가하는 것만으로도 효과가 있다는 것을 알았습니다 ! 예! (crontab에) 그냥 추가하면:

SHELL=/bin/bash

... 효과가있다. 나할 수 있는루트로 입력하고 간단한 작업을 수행합니다.

sed -i 1iSHELL=/bin/bash /var/spool/cron/*

하지만 이 설정을 전역(또는 기본값)으로 설정하고 싶습니다.

기본 cron SHELL을 bash로 설정할 수 있습니까?

나는 성공하지 않고 다음을 시도했습니다.

  • 행 추가/etc/crontab /etc/crontab 자체에만 영향을 미칩니다모든 사용자는 아니지만
  • 크론 추가 /etc/sysconfig/crond및 재시작
  • 크론 추가 /etc/environment및 재시작
  • 크론에 추가하고 다시 시작 session required pam_env.so readenv=1하세요 ./etc/pam.d/crond
  • 라인을 추가 /etc/default/cron하고 다시 시작하세요

기본 cron SHELL을 bash로 설정하는 방법은 무엇입니까?

답변1

cron 작업에 대한 전역 기본 셸을 설정할 수 없습니다.

답변2

또는 crontab에서 쉘 스크립트를 실행하는 경우 이를 스크립트 상단에 배치할 수 있습니다.

#!/bin/bash -l

이렇게 하면 로그인 쉘처럼 작동하게 됩니다.

관련 정보