
/usr/pgsql-9.5/bin
CentOS 7システムのすべてのユーザーの環境パスを追加しようとしています。
以下に新しいファイルを作成しました。/etc/profile.d/
次のようになります。
export PATH="/usr/pgsql-95/bin:$PATH"
その後、システムを再起動し、rootとしてログインしました。
入力するとecho $PATH
リストが表示されます。
/usr/pgsql-9.5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
したがって、rootユーザーにとってはすべてが正しいです。
次に入力します。
sudo su postgres
echo $PATH
これには以下がリストされます。
/sbin:/bin:/usr/sbin:/usr/bin
/usr/pgsql-9.5/bin
なくなった?
ユーザーにパスが追加されていないのはなぜですかpostgres
?
新しいユーザーを作成すると、パスが正しく追加されます$PATH
。
答え1
su -lの代わりにsuを使用しています。
su -lを使用すると、環境などの直接ログインが提供され、/etc/profile.d/filenameに記載されている環境変数が設定されます。
努力する
sudo su -l username