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.