$PATH 環境変数が長くなると、どのような結果になりますか?

$PATH 環境変数が長くなると、どのような結果になりますか?

私にとって本当に必要な機能は、実際のディレクトリコレクションをマージして「仮想ディレクトリ」を作成する機能です(したがって、ディレクトリは/usr/bin実際にはディレクトリ配列を指す仮想ディレクトリになります)。

ただし、この機能は一部のオペレーティングシステムで使用できますが、普遍的ではなく、たとえば来年に使用するオペレーティングシステムでこの機能をサポートするとは期待できません。

現在、私は回避策として$ PATH変数を使用しています。ここでは、「マージ」したいディレクトリ全体を保存します(マンページには$ MANPATHなどの他の変数を使用し、ライブラリには同様の変数を使用する予定です)。 )。

現在、「マージディレクトリ」コレクションは大きくないため、パフォーマンスの問題は発生しません。しかし、将来のディレクトリの数が何百ものものに達した場合、問題が発生するかどうか疑問に思います(わかりません)。そんなに多くのことが起こるかどうかはわかりません)。

私の推測では、近い将来に「マージされた」ディレクトリの予想数はおおよそこの程度になります。40到着50

この機能で私が見つけた回避策は主にシンボリックリンク管理に基づいており、マージされたすべてのディレクトリ内のすべてのファイルを「統合」ディレクトリからそのファイルを指すシンボリックリンクに効果的にミラーリングすることです。しかし、このアプローチは私にとって複雑すぎるようです。きれいでクリーンなソリューションのようには見えません。

$PATHメソッドを引き続き使用できると思いますか?または、中断して再検討して他のオプションを見つける必要がありますか?

ベストアンサー1

シェル通常外部ユーティリティが見つかった場所に関する情報をキャッシュします。つまり、キャッシュされていない各ユーティリティに対して実際に一度だけ照会するだけです。

$PATH合理的なシェルを使用している場合は、すぐに深刻なパフォーマンスの問題が発生するとは思わない。

代替ソリューションを確認するには、以下を確認してください。GNUストー

おすすめ記事