すべてのユーザーのパス設定(ログインおよび非ログインシェル)

すべてのユーザーのパス設定(ログインおよび非ログインシェル)

わかりましたので、私はRedhatよりUbuntuとCentOSに慣れているので、私が見逃した部分に確実な解決策があることを願っています。

Anaconda(Python)をインストールしました。私はそれを置いた:

/opt/anaconda3

私は自分自身とすべてのユーザーが自分のパスに次のものを含めることができることを願っています。

/opt/anaconda3/bin

私はそれをグーグルし、私の仕事を「正しく」行う方法について矛盾する情報をたくさん得ました。

私が試したこと:

  1. /etc/profile.dにbashスクリプトを追加する
  2. /etc/profile 編集
  3. /etc/bashrc 編集
  4. ルートbashrcに追加
  5. users.bashrc 編集

すべての編集には以下が含まれます。

PATH=/opt/anaconda3/bin:$PATH

または

export PATH=/opt/anaconda3/bin:$PATH

オプション2複数のユーザーのパスに/ opt / anaconda3 / binを追加しましたが、端末を再起動してもbinのコマンドはまだ実行されません(たとえば、conda install、ipython Notebookなど)。

どんなアイデアがありますか?

答え1

たとえば、/etc/profile.d/に次の内容でanaconda.shというファイルを作成します。

PATH=/opt/anaconda3/bin:$PATH

次の「.sh」は、含めるファイルを検索するために/ etc / profileによって使用される構文であるため、重要です。 Bashはログイン時に/ etc / profileを読み取ります。現在のシェル/ターミナルで変更を適用するには、を実行します. /etc/profile.d/anaconda.sh

非対話型シェルでこれを要求する状況が発生した場合は、~/.bashrcだけが残ります(呼び出し環境で--rcfileを使用してこの動作をオーバーライドしない限り)。

答え2

/etc/environment ファイルに記載されているファイルパスにパスを追加します。

これは、ローカルユーザーディレクトリの.bashrcファイルがロードされる前に最初にロードされるため、システム全体の変数を設定するのに最適な場所です。

関連情報