/ opt/my-program/binにいくつかのプログラムをインストールしましたが、すべてのユーザーの非ログインシェルとログインシェルのシステム$ PATHに/ opt/my-program/binを追加したいと思いました。私は何をすべきか?
/ etc/environmentの変更は、ログイン以外のシェルでは問題ありませんが、Debianの/ etc/profile(login Shellによって提供される)が/ etc/environmentで指定された$ PATHをオーバーライドするため、ログインシェルでは機能しません。
/etc/profile
の末尾に/etc/bash.bashrc
を追加して[ -f /etc/bash.bashrc ] && . /etc/bash.bashrc
ソース/etc/profile
を作成し、次に/etc/bash.bashrc
を使用してパス変更をPATH=$PATH:/some/other/path
に追加します。
/etc/login.defs
ファイルには、次のようなデフォルトのパスが含まれています。
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
一部の変数はpam
モジュールに移動していますが、/bin/login
は、ユーザーのシェルから独立した構成ファイルを保持しています。