find -exec 명령은 데비안 스퀴즈에서는 작동하지만 우분투 10.04에서는 작동하지 않습니다.


1

쉘 스크립트 (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.

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


는 IS ~/bin/두 경우 모두 동일 정확히 언급? 동일한 파일 목록과 내용뿐만 아니라 동일한 기본 장치 / 파일 시스템입니까?
phogg

~ / bin /은 두 경우 모두 동일한 파일 구조 (및 파일)를 갖습니다. find ~/bin/ '!' -type d그 자체만으로 두 경우 모두 동일한 것으로 보입니다.
Matthieu Cartier

답변:


2

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


dos2unix내 설치에서 심볼릭 링크가 아닙니다. type -a fromdos결과 fromdos is /usr/bin/fromdosfind ~/bin/ '!' -type d -exec /usr/bin/fromdos {} \;파일 일하러 / fromdos을 찾을 수 없다는 같은 오류가 발생합니다. 에 심볼릭 링크가 없습니다 ~/bin.
Matthieu Cartier

@neurolysis : file /usr/bin/fromdos"ELF ..."또는 다른 말이 있습니까? 무엇 않습니다 fromdos -V(자본 "V"- 버전)라고? ( -(소문자 "v")) find의 상세 옵션을 사용하면 명령 에서 어떤 종류의 출력을 얻 습니까? fromdosfromdos -v
Dennis Williamson

아! 꽤 깊은 하위 디렉토리에서 심볼릭 링크로 인해 실제로 오류가 발생했습니다 (어떻게 도착했는지 모릅니다, 기억하지 마십시오). 어쨌든 고마워! :)
Matthieu Cartier
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.