環境パス変数の順序変更

環境パス変数の順序変更

私はCentOSコンピュータで作業しており、最新バージョンのPythonをインストールしようとしています。 CentOSを正しく実行するにはPython 2.6.6が必要です。この問題を解決するために、/ usr / local / binに2番目のPython(v 2.7.6)をインストールしました。その後、Pythonというシンボリックリンクを作成しました。残念ながら、私の環境パス変数は次のとおりです。

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/useraccount/bin

/usr/local/binは、新しくインストールされたPythonをデフォルトのシステムインストールとして使用する/usr/binの前にあります。これは、Python 2.6.6をデフォルトのインストールとして使用する必要があるCentOSの要件に違反します。

シンボリックリンクを削除すると、この問題は解決されます。ただし、最新バージョンのPythonをインストールする場合は、すべてのスクリプトを最新バージョンを指すように変更するのではなく、シンボリックリンクのみを切り替えることができることを願っています。

これらの変数がパスに追加される順序を変更する方法はありますか?たとえば、パスを次のように作成できます。

/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/useraccount/bin

パスに追加または完全に上書きする方法を詳しく説明する投稿を簡単に見つけることができますが、誰もそうしないようです。この順序を変更したくない理由はありますか?

答え1

パス変数の順序を変更する方法のガイドが見つからない理由は、それを追加したり完全に置き換えるよりもはるかに難しいからです。

$PATHシェルの変数だけです。つまり、簡単に交換でき(実行PATH=<new path>または挿入.bashrc)、簡単に追加できます(PATH=<new entry>$PATHasを使用して$PATH現在のパスになります)。ただし、順序を変更するには、まずそれを解析する必要があります。変数の動作方法を理解するには、スクリプトを作成する必要があります。

あなたの目的に応じて、デフォルトの環境パスの外にあるディレクトリにシンボリックリンクを配置するのが最善です。~/bin/たとえば、に入れることもできます/usr/local/bin/nopath/

関連情報