$BASH_ENVの可用性を保証する方法

$BASH_ENVの可用性を保証する方法

非対話型の非ログインシェルは、$BASH_ENVで指定されたスクリプトを取得しようとします。しかし、クローンジョブまたはスクリプトが特定のセッションに対して$ BASH_ENVを設定する前に$ BASH_ENVが設定されていることをどのように確認できますか? Bashをコンパイルする唯一のオプションはハードコーディングですか?

ベストアンサー1

crontabのすべてのbashスクリプトをロードするには、BASH_ENVcrontabレベルで設定してください。

BASH_ENV=/path/to/startup.bash
12 34 * * * /path/to/bash_script
1 23 1 * * /path/to/other_bash_script

BASH_ENV特定の項目にのみ設定するには、その項目で設定してください。そうすれば、BASH_ENVcrontab自体にリストされているコードには設定されませんが、とにかく複雑なものを入れることはお勧めできません。

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

おすすめ記事