Upstart - bashrc変数のロード

Upstart - bashrc変数のロード

bashrcupstartスクリプトで変数をロードして実行する方法(node.jsこの場合はサーバー)を知りたいです。

最良のアプローチは何ですか?

私はこれを試しました:

exec sudo -u someuser $NODE_PATH $FULL_PATH/$FILE_NAME >> /var/log/$PROGRAM_NAME.sys.log 2>&1

この

exec start-stop-daemon --start -c someuser --exec $NODE_PATH $FULL_PATH/$FILE_NAME >> /var/log/$PROGRAM_NAME.sys.log 2>&1

ただし、最初のオプションでは、ノードアプリケーションはhttp_proxy変数(で定義されている/etc/bash.bashrc)を読み取ることができません。 2番目の設定ファイルは読み取れません(その/optフォルダにノードアプリケーションがインストールされています)。

ベストアンサー1

/etc/bash.bashrc対話型シェルの起動時に読み込まれます。ここでは、完了設定、プロンプトなどのインタラクティブな使用のための設定があります。そこに環境変数を設定しないでください。バラよりすべてのシェルが読める「.bashrc」に対応するファイルはありますか?システム全体の環境変数に最適な場所は次のとおりです。/etc/environment/etc/profile(とのファイル/etc/profile.d)。

ノーマルUpstartの環境変数の設定方法作業ファイル自体にあります。 Upstartでは読み取れませんが、/etc/environmentジョブスクリプトのファイルから環境変数をロードできます。

script
. /etc/environment
exec start-stop-daemon …
end script

おすすめ記事