bashでPATH変数が設定されている場所の完全な表示

bashでPATH変数が設定されている場所の完全な表示

PATH設定/etc/profileやホームディレクトリ.profileのファイルについていくつかの場所で読みました。

ルートが設定された唯一の場所ですか?もっとよく理解したいです。

/etc/profileドキュメントの下の説明に示すように"system-wide .profile file for the Bourne shell"。これは、設定ファイルがbashのデフォルト設定ファイルであることを意味しますか?

ファイルにPATHvarがまったく設定されていません。ホームディレクトリのファイルには.profile次の行があります。

PATH="$HOME/bin:$PATH"

PATHすでに設定されている$PATH文字列を正しい文字列に$HOME/bin:関連付けるので、シェイプでリセットされますか?しかし、が唯一のファイル設定の場合、そのコード行のファイルが で定義されていない場合、どこから来るのでしょうetc/profileか。~/.profilePATH$PATH/etc/profile

PATH経験豊富な人は、この変数について広範で詳細な説明を提供できますか?ありがとうございます!

ベストアンサー1

PATH設定できる場所はたくさんあります。

プログラムはloginそれをデフォルト値に設定します。このデフォルト値の設定方法はシステムによって異なります。ほとんどの非埋め込みLinuxシステムでは、次のものからインポートされます。/etc/login.defs、rootユーザーと異なるユーザーに対して異なる値を持ちます。login(1)その機能については、システムのマニュアルを参照してください。

システムで使用ポリアクリルアミド具体的にpam_envモジュール、環境変数は、/etc/environmentシステム全体のファイルとユーザー固有のファイルで設定できます~/.pam_environment

これにより、ほとんどのログイン方法(クローンジョブを除く)が実行されます。ログインシェルシステム全体およびユーザー固有の構成ファイルを読み取ります。PATH通常、これらのファイルの値を変更してアイテムを追加することができますが、時には他の方法で変更することもできます。どのファイルを読み取るかは、ログインシェルが何であるかによって異なります。 Bourne / POSIXスタイルのシェルは、.Bashを読み取りますが、各ユーザーファイルに対して、および最初の既存のファイルのみを/etc/profile読み取ります。 Zshは、、、、およびを読み取ります。多くのGUIセッションがロードされ実行されるようにスケジュールされていますが、これはディスプレイマネージャ、デスクトップ環境、または他のセッション起動スクリプトと各ディストリビューションがどのように設定するかによって異なります。~/.profile/etc/profile~/.bash_profile~/.bash_login~/.profile/etc/zshenv~/.zshenv/etc/zprofile~/.zprofile/etc/zlogin~/.zlogin/etc/profile~/.profile

おすすめ記事