web-dev-qa-db-ja.com

動作していないことを見つける

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マシンで同じ例が期待どおりに機能します。それをデバッグする方法についてのアイデアはありますか?

2
Najki

これは、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が検出されたことを確認できます。

7
Dalvenjia