動作していないと判断されました

動作していないと判断されました

この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ボックスで期待どおりに機能するので、ここで何が起こっているのかわかりません。これをデバッグする方法についてのアイデアはありますか?

答え1

Linuxではデフォルトで提供されているGNU findを使用しようとしていますが、Mac OS XにはBSD findが含まれており、違いがたくさんあるからです。

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-core-utilities

他のオプションは、BSD検索マニュアルページを読み、コマンドを調整することです。実行すると、man find画面上部に「BSD Universal Command Manual」と表示され、実際にBSDが見つかったことを確認できます。

関連情報