プライベート対グローバル

プライベート対グローバル

いくつかの特別なエイリアスがあり、これをいくつかのサーバー(CentOS 7、bashシェル)に設定しました。

そのうちのいくつかはサーバーごとに関連付けられています(たとえば、IPがインターネットを指すか、サーバーのホスト名など)、他のものはすべてに関連しています(コマンドエイリアスなど)。

~/.bash_profile一意でないすべての環境変数を含むGitを介して伝播する別のファイルを提供するファイルに、各サーバーに一意のエイリアスを設定しました。これにより、エイリアスまたは変数を追加し、すべてのサーバーでそれを追加したいときはいつでも、それをファイルに追加してGitを介してプッシュできます。

~/.bash_profileただし、一部(まれに見える)の場合は、ログイン後に手動でインポートした後にのみ一意でないエイリアスと変数を使用できることがわかりました。ほとんどの場合、そのままうまく機能します。ログインすると、すべてが設定され、他のソースが必要な場合があります。

/etc/profile.d/、およびのスクリプトを使用して別の場所から一意でないファイルをインポートしようとしましたが、/etc/bashrcこれによりログインが中断されるループが発生しました。/etc/profile~/.bash_rc

bash_profileは次のとおりです。

# .bash_profile
source "/etc/non_uniques_file"

#Unique to this server
alias servername=[name of server]...

一意でないファイルは次のとおりです。

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export HISTTIMEFORMAT="%d/%m/%y %T "
export HISTSIZE=2000
export HISTFILESIZE=20000...

私の質問は - すべての場合に一意のファイルをインポートし、システム全体に設定できる正しい場所はどこですか?

ログイン方法は同じですが、一部のログインではこれらの変数が設定され、他のログインでは設定されません。なぜですか?

ありがとうございます!

ベストアンサー1

プライベート対グローバル

次に保存されているすべて.profileまたは.rcファイル(例:など).bashrcメインディレクトリ登録されているすべてのユーザーの権利は、明示的にそのユーザーに属します。

これは、他のユーザーが購入するのに適していないことを意味します。 (つまり、世界中で)。

グローバル変数

これは通常代替ファイルです。ユーザーがログインする前にロードされるため、新しいユーザーなどのデフォルトのデフォルトの代替として機能します。

実際、分布によって位置が異なる場合があります。同様の場所は/etc/default検索を開始するのに最適な場所です。

Linuxの無料のオープンソース特性のため、ディストリビューションに関するより正確な情報については、ドキュメントを確認する必要があります。

おすすめ記事