Macos brew安装grep--使用默认名称时出现“无效选项”错误

Macos brew安装grep--使用默认名称时出现“无效选项”错误,macos,gnu,Macos,Gnu,我正在尝试替换grep的默认版本:BSD grep 2.5.1-FreeBSD 在我的mac Mojave上10.14.6 当我运行建议的命令以gnu版本替换BSD版本时: brew安装grep-使用默认名称 我得到了上面提到的错误。有人看到并知道解决方法吗?删除了Homebrew-使用默认名称,因为它会导致问题和支持请求,因此您询问的特定工作流已从项目中删除 但是,有一种变通方法记录在案: macOS也提供了以前缀g安装的命令。 如果需要将这些命令与其常规名称一起使用,则可以 可以从bashr

我正在尝试替换grep的默认版本:BSD grep 2.5.1-FreeBSD

在我的mac Mojave上10.14.6

当我运行建议的命令以gnu版本替换BSD版本时:

brew安装grep-使用默认名称

我得到了上面提到的错误。有人看到并知道解决方法吗?

删除了Homebrew-使用默认名称,因为它会导致问题和支持请求,因此您询问的特定工作流已从项目中删除

但是,有一种变通方法记录在案:

macOS也提供了以前缀g安装的命令。 如果需要将这些命令与其常规名称一起使用,则可以 可以从bashrc向路径添加gnubin目录,如:

PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH

参考:

编辑:在Mac电脑上,通常基于用户的配置更改进入$HOME/.bash_配置文件,这就是我建议的位置

信息:通常没有Mac$HOME/.bashrc,尽管您可以创建一个,它应该可以工作。或者,您可以使用/etc/profile/bashrc中的版本为所有用户编辑bashrc。只是指出您可能看不到该文件的原因-我仍然建议为此编辑您的本地.bash_配置文件,因为稍后您可能会看到该文件:-

下面是一个显示已安装gnubin的示例。Bash的Mac用户可能已经熟悉了内置日期命令不支持-d或Linux或GNU工具上的其他选项的问题。总之,安装了coreutils并更新了路径,现在我可以不用测试操作系统是否为darwin就可以使用和编写Bash脚本了

$ which date
/usr/local/opt/coreutils/libexec/gnubin/date
$ date -d @1583927956
Wed Mar 11 07:59:16 EDT 2020
…如果我想在osx版本之前安装另一个GNU工具(例如GNU find),那么我还需要更新该工具的$PATH var。要成为默认值的每个Brew命令都需要修改路径

这种方法不会损害您的系统命令。苹果提供的任何脚本都不会加载用户的$PATH var,因此这些脚本将默认为系统版本。这是使用用户的bash_配置文件的另一个原因,不要修改在/etc下找到的任何配置文件。

删除了Homebrew-使用默认名称,因为它会导致问题和支持请求,因此您询问的特定工作流已从项目中删除

但是,有一种变通方法记录在案:

macOS也提供了以前缀g安装的命令。 如果需要将这些命令与其常规名称一起使用,则可以 可以从bashrc向路径添加gnubin目录,如:

PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH

参考:

编辑:在Mac电脑上,通常基于用户的配置更改进入$HOME/.bash_配置文件,这就是我建议的位置

信息:通常没有Mac$HOME/.bashrc,尽管您可以创建一个,它应该可以工作。或者,您可以使用/etc/profile/bashrc中的版本为所有用户编辑bashrc。只是指出您可能看不到该文件的原因-我仍然建议为此编辑您的本地.bash_配置文件,因为稍后您可能会看到该文件:-

下面是一个显示已安装gnubin的示例。Bash的Mac用户可能已经熟悉了内置日期命令不支持-d或Linux或GNU工具上的其他选项的问题。总之,安装了coreutils并更新了路径,现在我可以不用测试操作系统是否为darwin就可以使用和编写Bash脚本了

$ which date
/usr/local/opt/coreutils/libexec/gnubin/date
$ date -d @1583927956
Wed Mar 11 07:59:16 EDT 2020
…如果我想在osx版本之前安装另一个GNU工具(例如GNU find),那么我还需要更新该工具的$PATH var。要成为默认值的每个Brew命令都需要修改路径

这种方法不会损害您的系统命令。苹果提供的任何脚本都不会加载用户的$PATH var,因此这些脚本将默认为系统版本。这是使用用户的bash_配置文件的另一个原因,不要修改在/etc下找到的任何配置文件