あなたが求めていることは不可能だと思います。すべてのシェルが尊重する中心的な場所はありません。多くのボーンスタイルのシェル(bash、zsh)は~/.profile
、デフォルトの構成に応じて読み取る場合と読み取らない場合がありますが、cshとtcshはまったく異なるファイルのセットを読み取り、bashと同じコマンドを使用して.などの変数を設定しませんPATH
。
多くのアプリケーションが使用する代替戦略は、/ usr / local / appname /または/opt/ appname /のような場所に自分自身をインストールしてから、でシンボリックリンクを作成すること/usr/local/bin/
です。たとえば、私のFreeBSDシステムでは:
> cd /usr/local/bin ; ls -l drush mailq perl5
lrwxr-xr-x 1 root wheel 14 Apr 29 12:22 drush -> ../drush/drush
lrwxr-xr-x 1 root wheel 32 Apr 28 15:28 mailq -> ../../../usr/local/sbin/sendmail
lrwxr-xr-x 1 root wheel 25 Apr 17 01:17 perl5 -> /usr/local/bin/perl5.12.4
カスタムを要求するのではなく、既存の構成を活用するためにできることはすべて、失敗の可能性を減らします。
また、ほとんどのプラットフォームには、物事を処理するための「受け入れられた」方法があります。ソフトウェアをFreeBSDにインストールする場合、それは実際にはFreeBSDの「ports」システムを介して実行する必要があります。このシステムには、ファイルの移動先に関する独自のルールがあります。MacPorts、Fink、Emergeなどと同じです。さまざまなユーザーコミュニティで足を踏み入れる前に、ターゲットプラットフォームをよく読んでください。