11

puppetを使用していくつかの環境変数を設定するための最良の方法を見つけようとしています。

execを使用して実行できますexport VAR=blah。ただし、それは現在のセッションでのみ持続します。また、bashrcなどのファイルの最後に追加することも考えました。ただし、すべての準備が整っているかどうかを確認するための信頼できる方法はないと思います。そのため、パペットを実行するたびに追加されることになります。

4

5 に答える 5

20

この関連する質問を見てみましょう。

*.shのスクリプトは/etc/profile.dユーザーログイン時に読み込まれます (投稿にあるように、同時に/etc/profileソースが読み込まれます)

exportしたがって、配置されたスクリプト内の変数/etc/profile.dは、ユーザーが使用できるようになります。

その後、fileリソースを使用して、このアクションがべき等であることを確認できます。例えば:

file { "/etc/profile.d/my_test.sh":
  content => 'export MYVAR="123"'
}
于 2013-03-15T22:48:15.020 に答える
1

または、非べき結果への代替手段:

if [[ ! grep PINTO_HOME /root/.bashrc | wc -l > 0 ]] ; then
        echo "export PINTO_HOME=/opt/local/pinto" >> /root/.bashrc ;
fi

このオプションを使用すると、pinto アプリケーションの存在によって警告が発生する場合 .bash_profileに、どのアプリケーションがボックスに配置される可能性があるかに関係なく、ユーザーのアプリケーションを構成する必要がない場合に、この環境変数を設定できます。

于 2013-05-07T05:07:50.243 に答える
0

それをbashrcに追加すると、次のようにしてENVハッシュにあることを確認できます

ENV[VAR]

どちらが返されます=>「何とか」

于 2013-03-15T20:22:59.850 に答える