发现不工作

Naj*_*jki 2 osx zsh find oh-my-zsh

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
Run Code Online (Sandbox Code Playgroud)

我不确定这里发生了什么,导致相同的示例在我的 Linux 机器上按预期工作。关于如何调试它的任何想法?

Dal*_*jia 8

那是因为您正在尝试使用 Linux 中默认的 GNU find,但 Mac OS X 带有 BSD find,它有很多不同之处。

要安装 GNU,您将需要 Homebrew,安装非常简单,只需访问http://brew.sh/

之后,您可以安装 findutils:

brew install findutils
Run Code Online (Sandbox Code Playgroud)

在此处模拟 Mac 上的 Linux 环境的更多信息和其他工具:https : //apple.stackexchange.com/questions/69223/how-to-replace-mac-os-x-utilities-with-gnu-core-utilities

另一个选项是阅读 BSD 查找手册页并调整您的命令。只需运行man find,您将在屏幕顶部看到“BSD 通用命令手册”,确认实际上您已找到 BSD。