find -exec 命令在 Debian Squeeze 上有效,但在 Ubuntu 10.04 上无效

find -exec 命令在 Debian Squeeze 上有效,但在 Ubuntu 10.04 上无效

在 shell 脚本(解释器 /bin/bash)中,以下操作在 Debian Squeeze 上运行:

find ~/bin/ '!' -type d -exec dos2unix {} \;

现在,我知道由于某种原因,它在 Ubuntu 中dos2unix被重命名为fromdos,所以我尝试运行:

find ~/bin/ '!' -type d -exec fromdos {} \;

虽然这在 Debian 上有效,但在 Ubuntu 上它会产生输出:

fromdos: Unable to access file todos.
fromdos: Unable to access file fromdos.

我该如何解决这个问题?问题是什么?

答案1

在我的 Ubuntu 系统上,/usr/bin/{{to,unix2}dos,dos2unix}全部符号链接到fromdos

尝试type -a fromdos查看是否存在覆盖二进制文件的别名、函数或脚本/usr/bin

另外,尝试在命令中指定完整路径find

find ~/bin/ '!' -type d -exec /usr/bin/fromdos {} \;

检查~/bin目录中是否有损坏的符号链接。 中是否有任何符号链接目录~/bin

您收到的错误消息看起来像是fromdos尝试处理名为“fromdos”的文件。

相关内容