我的 Cygwin 上的 diff 实用程序总是返回 57 的退出代码,无论文件是否匹配、不匹配或不存在。
我已经成功安装了 diffutils:
$ cygcheck -c diffutils
Cygwin Package Information
Package Version Status
diffutils 3.2-1 OK
$ which diff
/usr/bin/diff
您的 Cygwin 安装中一定有问题,因为 Cygwin 版本中diff
甚至没有返回退出代码 57 的代码。它只使用 0、1 和 2。这意味着其他一些代码正在退出,这是高度可疑的。
我会首先尝试强制重新安装diffutils
及其依赖项,libintl8
以及libiconv2
. 您将在 Cygwin 的 .libs 类别中找到这两个库setup.exe
。单击“选择软件包”屏幕上第三列中的值,直到显示“重新安装”。(当你第一次进入这个屏幕时,它应该是“保持”。如果是别的,这可能是出错的线索。)
如果这不能解决问题,我会怀疑BLODA。