69

一般的なことを行う OS X 用の bash スクリプトを作成しているとき、どこに保存するのが適切か疑問に思っています。自動的にピックアップされる場所にそれらすべてを置くことができるディレクトリはありますか? または、独自のディレクトリを作成し、このディレクトリを .profile などから参照する必要がありますか?

4

4 に答える 4

11

~/bin自分で作成した実行可能ファイルとスクリプト、および自分で作成していない実行可能ファイルとスクリプトに使用します/usr/local/bin

/usr/local/binは、Homebrew によってpip(およびgemHomebrewnpmによってインストールされて)、 のデフォルトのターゲットとしてmake install、および一部の.pkgインストーラーによって使用されます。

/usr/local/bin以前は、自分で作成したものではなく、デフォルトでは配置されていない実行可能ファイルとスクリプト用に別のディレクトリを持っていました。しかし、含まれているファイルが少なかったので、その中のすべてのファイルを に移動しました/usr/local/bin

/usr/local/binHomebrew 以外のものはで見つけることができます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 コマンドがそのために機能しなくなりましたが、システムにインストールされたバージョンの前に新しいバージョンのコマンドを用意し、どこでも同じパスを使用することも便利です。

于 2013-09-08T16:49:21.213 に答える
-7

私の考えでは、スクリプトは好きな場所に配置できます。システム固有のフォルダーを使用しない限り、それは実際には問題になりません。私は /scr に私のものを保管し、そのフォルダーに対するルートのみのアクセス許可を持っています。このフォルダー内のすべてのスクリプトが正しく実行されるにはルート アクセスが必要であり、エンド ユーザーがそのフォルダーをのぞき見したくないため、これは納得のいくものです。

于 2013-09-08T13:52:37.940 に答える