Ubuntu 12.04.1 LTSを実行します。そして、プロファイルファイルをロードするための順序/優先順位がわかりません。システムを起動し、GUIを使用してログインすると、どのファイルがロードされますか?なぜ?ログインシェルを実行するとどうなりますか?同じでしょうか?実際には~/.profile
、システムが起動したときにロードされない理由がわかりません。ここに表示されるはずです。
Ubuntu 12.04.1 LTSを実行します。そして、プロファイルファイルをロードするための順序/優先順位がわかりません。システムを起動し、GUIを使用してログインすると、どのファイルがロードされますか?なぜ?ログインシェルを実行するとどうなりますか?同じでしょうか?実際には~/.profile
、システムが起動したときにロードされない理由がわかりません。ここに表示されるはずです。
回答:
すべてのファイルで変数を定義できます。
ORDER=${ORDER}+"/etc/profile"
それぞれ
ORDER=${ORDER}+"~/.profile"
そして、実行する
echo ${ORDER}
確認するには、何が関係し、どの順序で行われたのか。もちろん、見逃した別のスクリプトがあったとしても、それはわかりません。
したがって、言及された1つのソースが表示されている場合は、そのスクリプトを読んで、あるスクリプトが別のスクリプトをソースしているかどうかを調べ、これらも含めてください。
/etc/bash.bashrcと〜/ .bashrcと〜/ .bash_login、および/ etc / defaultからのものが思い浮かびます。
それはすべて、ログインしようとしているユーザーに依存します。グローバル/etc/profile
ファイルはすべてのユーザーに対してロードされますが、それ~/.profile
はユーザーに対してのみロードされます。
~
現在のユーザーのホームディレクトリを指します。したがって、それを入れて/home/user-a/.profile
ログインするuser-a
場合、グローバルとそのユーザー固有のファイルの両方が(この順序で)ロードされますがuser-b
、.profile
ファイルなしでログインする場合は、グローバルなファイルのみがロードされます。
両方をロードし、〜/ .profileを最後にロードする必要があります(つまり、優先順位があることを意味します)。