非対話型の非ログインシェルは、$BASH_ENVで指定されたスクリプトを取得しようとします。しかし、クローンジョブまたはスクリプトが特定のセッションに対して$ BASH_ENVを設定する前に$ BASH_ENVが設定されていることをどのように確認できますか? Bashをコンパイルする唯一のオプションはハードコーディングですか?
ベストアンサー1
crontabのすべてのbashスクリプトをロードするには、BASH_ENV
crontabレベルで設定してください。
BASH_ENV=/path/to/startup.bash
12 34 * * * /path/to/bash_script
1 23 1 * * /path/to/other_bash_script
BASH_ENV
特定の項目にのみ設定するには、その項目で設定してください。そうすれば、BASH_ENV
crontab自体にリストされているコードには設定されませんが、とにかく複雑なものを入れることはお勧めできません。
12 34 * * * export BASH_ENV=/path/to/startup.bash; /path/to/bash_script
1 23 1 * * /path/to/other_bash_script
特定のスクリプトが常に特定の構成ファイルをロードできるようにするには、スクリプト内から直接ロードします。
#!/bin/bash
. /path/to/configuration.bash
…