cygwin에서 find 명령이 작동하지 않는 것 같습니다


10

cygwin에서 찾기 명령을 실행하려고 할 때 계속 오류가 발생합니다.

"찾기 : 매개 변수 형식이 올바르지 않습니다"

그러나 동일한 명령이 Linux에서 실행됩니다. 무슨 일이야?

답변:


13

cygwin이 아닌 Windows find 명령을 사용하고 있습니다.

'찾다'를 입력하면 명확 해집니다.

이를 수정하려면 경로 (시스템 특성-> 고급-> 환경 변수-> 시스템 변수-> 경로)를 편집하고 cygwin 항목을 경로 ​​앞쪽으로 이동하십시오. (이 작업을 수행하는 쉬운 방법은 전체 경로를 복사하여 메모장에 붙여 넣은 후 다시 붙여 넣는 것입니다).

주석에서 지적했듯이 다른 경로는 bash 시작 스크립트를 편집하고 경로를 변경하는 것입니다. cygwins 버전이 처음 문제를 일으킨 사례를 찾은이 솔루션이 선호되는 솔루션이라고 말합니다.


5
이것은 이상적인 수정이 아닐 수도 있습니다. 다른 방법은 bash 시작 파일 을 편집하여 Cygwin 경로를 시스템 경로에 추가하는 대신 앞에 추가하는 것입니다. 주요 차이점은 표준 Windows CMD 또는 탐색기 셸에서 명령을 실행할 때 Cygwin 버전을 먼저 찾을 지 여부입니다.
— quack quixote

cygwin은 자체 경로를 전세계 경로에 추가하고 있습니다. 그것의 아주 이상한 OP는 그 오류를 얻습니다.
— akira

좋은 지적!
— dggoldst

2

Windows의 명령 셸에서 올바른 '찾기'를 실행할 수 없으며 PATH 조정이 도움이되지 않았습니다. 그러나 이것은 효과가 있었다 :

bash
/usr/bin/find . -iname blahblah*
exit

명시 적 경로는 올바른 '찾기'를 발생 시켰으며, 어떤 이유로 든 bash에서 실행할 때만 작동합니다.


이것은 나를 위해 가장 잘 작동했습니다. 이미 bash가있는 다양한 컴퓨터에서 실행할 수있는 스크립트를 작성 중이었습니다. 일부는 \ Windows \ System32 앞에 bash 경로가 있었지만 그 뒤에는 bash 경로가있었습니다. 또한 Windows 명령 "where find"는 모든 "찾기"를 경로 순서로 표시합니다.
— PseudoNoise
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.