find
コマンドは、oh-my-zshを使用するOSXで期待どおりに機能しません。いくつかの例:
$ find . -name test
find: .: Invalid argument
$ find
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
$ find --version
find: illegal option -- -
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
$ find version
find: .: Invalid argument
ここで何が起こっているのかわからないので、Linuxマシンで同じ例が期待どおりに機能します。それをデバッグする方法についてのアイデアはありますか?
これは、LinuxではデフォルトのGNU findを使用しようとしているのですが、Mac OS Xには多くの違いがあるBSDfindが付属しているためです。
インストールするにはGNU Homebrewが必要で、インストールはとても簡単です。 http://brew.sh/ に従ってください。
その後、findutilsをインストールできます。
brew install findutils
MacでLinux環境を模倣するための詳細およびその他のツールはこちら: https://Apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu -コアユーティリティ
他のオプションは、BSDのfind manページを読んで、コマンドを調整することです。ただ走れ man find
、画面の上部に「BSD一般コマンドマニュアル」が表示され、実際にBSDが検出されたことを確認できます。