首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >man diff与已安装的diff版本不对应。

man diff与已安装的diff版本不对应。
EN

Stack Overflow用户
提问于 2016-05-30 23:28:34
回答 1查看 581关注 0票数 1

执行man diff说明如下:

代码语言:javascript
复制
NAME
       diff - compare files line by line

SYNOPSIS
       diff [OPTION]... FILES

DESCRIPTION
       Compare files line by line.

       -i  --ignore-case
              Ignore case differences in file contents.

[...]
       -q  --brief
              Output only whether files differ.
[...]

但是当我使用-q选项时,它会在fatal: invalid diff option/value: -q中失败

为什么diff命令的执行人员与安装的版本不相对应?

怎么修呢?

是否有一个brew包具有带有-q选项的diff命令的版本?(brew coreutils和binutils没有diff命令)

OSX 10.11.5

用你的问题更新

代码语言:javascript
复制
$ which diff
/usr/bin/diff

$ diff --version
usage: git diff --no-index <path> <path>

$ diff -v
usage: git diff --no-index <path> <path>

$ command diff --version
diff (GNU diffutils) 2.8.1

我用brew和https://github.com/donnemartin/dev-setup

如果我禁用由开发安装安装的.bash_profile,那么which diff仍然返回相同的路径,但diff -q工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 00:01:27

你是否有机会使用类似奇佐之类的东西?有些框架将(很糟糕)定义它们自己的函数,以取代终端默认的函数。

在这种情况下,尝试运行command diff -q ...,看看这是否解决了问题。

编辑:正如@MarkPlotnick所指出的,发展-设置是另一个覆盖默认diff命令并使用git diff的框架:

代码语言:javascript
复制
# Use Git’s colored diff when available
hash git &>/dev/null;
if [ $? -eq 0 ]; then
    function diff() {
        git diff --no-index --color-words "$@";
    }
fi;

参考https://github.com/donnemartin/dev-setup/blob/master/.functions

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37534776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档