在 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”的文件。