/etc/profile はユーザーには提供されません。

/etc/profile はユーザーには提供されません。

私が実行しているUbuntuサーバーでは、ユーザーに便利なエイリアスと機能を追加するためにファイル/etc/bash.bashrcとしてカスタマイズを追加しました。これらすべてが私のアカウントで正しく機能します。.sh/etc/profile.d

suただし、またはを介して別のアカウント(自分のアカウントと同じグループに属するアカウントを含む)にログインしても、sshこれらのカスタマイズは読み込まれません。手動で実行すると. /etc/profile問題は解決しますが、私が知っている限り、対話型ログインシェルが起動したら自動的にこれを行う必要があります。echo $0すべてのアカウントで実行するとthisが返さ-bashれるので、実際にはこのようなシェルにあるとします。

そうでなければ、なぜこれが起こり、どのように解決できますか?

ベストアンサー1

私も同じ問題があります。ファイルを確認し/etc/profileて解決策を見つけました

...
if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

だから我々はちょうど確認することができますファイル(Ubuntu 18)。名前を変更した/etc/profile.d/condaので、/etc/profile.d/conda.sh期待どおりに動作します!

おすすめ記事