web-dev-qa-db-ja.com

Ubuntu 16.10 bashシェルのPATHセットアップはどこにありますか?

Ubuntu 16.10の新規インストールで、bash PATH環境変数がどこで設定されているかを判断できないようです。

echo $PATHステートメントと~/.bashrcの先頭に/etc/bash.bashrcステートメントを配置しようとしました。両方のechoステートメントが実行されるため、これらのファイルは適切にロードされますが、どちらの場合も、PATHにはすでに次のものが含まれています。

/home/carl/bin:/home/carl/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

最初のエントリ(/home/carl/bin:/home/carl/.local/bin)は、追跡しようとしているものです。 /etc/environmentを変更しても効果がないように見えるので、値のどこに設定されているかは本当にわかりません。

PATHは、ログインシェルの使用時に/etc/profileが実行されるときにも設定され、/etc/environmentの変更による影響も受けません。

1
Carl Zulauf

デスクトップセッションの作成時に、ディスプレイマネージャーが~/.profile(および/etc/profileおよび/etc/environment)をロードすることにより、PATHが永続化されていたことがわかります。つまり、これらのファイルへの変更は新しいbashセッションに反映されず、有効にするためにログアウトする必要があります。

3
Carl Zulauf

これは、デバッグモードとログインモードでbashを実行することで確認できます。

/bin/bash -xl

大量の出力がありますが、ファイルのロードと$ PATHの変更のチェーン全体を確認できるはずです。

2
Amias