find -exec 명령은 데비안 스퀴즈에서는 작동하지만 우분투 10.04에서는 작동하지 않습니다. 어떤 이유로 Ubuntu에서 dos2unix이름이 바뀌 었

쉘 스크립트 (interpreter / bin / bash)에서 다음은 Debian Squeeze에서 작동합니다.

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

이제 어떤 이유로 Ubuntu에서 dos2unix이름이 바뀌 었 fromdos으므로 다음을 실행하려고합니다.

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

이것은 데비안에서 작동하지만 우분투에서는 다음과 같은 결과를 얻습니다.

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

이 문제를 해결하려면 어떻게해야하며 문제는 무엇입니까?



답변

내 우분투 시스템에서 /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”라는 파일을 처리하려고합니다.


답변