~/.bash.rc から変数を取得し、ログアウト後も保持する

~/.bash.rc から変数を取得し、ログアウト後も保持する

私は、CollabNet の SVN クライアントと GNOME Keyring Daemon (別名 GKD) を使用して、非対話型で安全な cron ベースの SVN チェックアウトを可能にするために、一連の bash スクリプトを書いてきました。スクリプトの 1 つは、GKD を起動し、その出力 (基本的にはいくつかの環境変数) を収集し、スクリプトが実行されるユーザーのシェルでそれらの変数をエクスポートするように設計されています。すべて、~/.bashrc で bash スクリプトをソースすることにより、ユーザーがログインすると実行されます。

問題は、スクリプトがサブシェル内で実行され、完了すると終了し、環境変数が完全に設定解除されるため、それらの環境変数がエクスポートされないことです。

さて、問題は、これらの変数を永続的に設定し、ログイン/ログアウト セッション間でもエクスポートされ、変更されないままにするにはどうすればよいかということです。

答え1

ホーム ディレクトリ (または他の場所) にある、. で始まる別のシェル スクリプトに変数をエコーするだけです (デフォルトの ls ビューでは表示されなくなります)。起動時にこのシェル スクリプトが実行されるように .bashrc を変更します。

例:

foo='What the heck'; echo "foo='$foo'" > ~/.startup.sh

次にこれを ~/.bashrc に記述すれば完了です:

. ~/.startup.sh

関連情報