一般的なことを行う OS X 用の bash スクリプトを作成しているとき、どこに保存するのが適切か疑問に思っています。自動的にピックアップされる場所にそれらすべてを置くことができるディレクトリはありますか? または、独自のディレクトリを作成し、このディレクトリを .profile などから参照する必要がありますか?
4 に答える
~/bin
自分で作成した実行可能ファイルとスクリプト、および自分で作成していない実行可能ファイルとスクリプトに使用します/usr/local/bin
。
/usr/local/bin
は、Homebrew によってpip
(およびgem
Homebrewnpm
によってインストールされて)、 のデフォルトのターゲットとしてmake install
、および一部の.pkg
インストーラーによって使用されます。
/usr/local/bin
以前は、自分で作成したものではなく、デフォルトでは配置されていない実行可能ファイルとスクリプト用に別のディレクトリを持っていました。しかし、含まれているファイルが少なかったので、その中のすべてのファイルを に移動しました/usr/local/bin
。
/usr/local/bin
Homebrew 以外のものはで見つけることができますfind /usr/local/bin ! -lname '../Cellar/*'
。
/usr/local/bin
自分で書いたスクリプトには使用しません。/usr/local/bin
既に約 1000 個の他のファイルが含まれており、~/bin
(またはbin
) の方が入力しやすいことが多いためです。
に追加setenv PATH ~/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin
しました/etc/launchd.conf
。他のディレクトリ/usr/local/bin
の前に置くことは潜在的に危険であり、たとえば、いくつかの TextMate コマンドがそのために機能しなくなりましたが、システムにインストールされたバージョンの前に新しいバージョンのコマンドを用意し、どこでも同じパスを使用することも便利です。
私の考えでは、スクリプトは好きな場所に配置できます。システム固有のフォルダーを使用しない限り、それは実際には問題になりません。私は /scr に私のものを保管し、そのフォルダーに対するルートのみのアクセス許可を持っています。このフォルダー内のすべてのスクリプトが正しく実行されるにはルート アクセスが必要であり、エンド ユーザーがそのフォルダーをのぞき見したくないため、これは納得のいくものです。