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

これにより、ログインシェルのように機能します。

関連情報