2014-04-01 2 views
1

cygwin 및 qoutemarks에 문제가 있습니다.Cygwin 및 따옴표 문제

grep FOO /path/to/files\ with\ spaces/* 
grep FOO "/path/to/files with spaces/file1.txt" 

을하지만이되지 않습니다 :

이 작동

grep FOO "/path/to/files with spaces/*" 
grep FOO '/path/to/files with spaces/*' 

오류 messange는 다음과 같습니다 그렙 :/경로// * 공백/파일 : 해당 파일이나 디렉토리

별표를 특별한 방법으로 해석했거나 완전히 분명한 것을 놓치고 있거나 이상한 일이 있습니다.

답변

3

bash에서 실행 중이십니까? 전체 세부 사항은 man bash.

기본적으로 와일드 카드 확장은하지 명령 그 자체로, 유닉스에서 에 의해 수행된다. 내 폴더에 a, b, cd의 네 개의 파일이 있다고 가정 해 보겠습니다. set -x은 입력 한 내용을 munged 한 후에 실제로 실행하려고하는 명령을 echo하기 위해 bash에 알려주므로 여기서 사용하겠습니다. + 시작 라인

$ set -x 
$ echo * 
+ echo a b c d 
a b c d 

는 떠들썩한 파티에 의해 인쇄된다 배시 실제로 echo-a b c d 전달한다. echo은 입력 한 *을 결코 볼 수 없습니다.

$ echo "*" 
+ echo '*' 
* 

당신이 그것을 인용하여 *에 파일 이름 확장을하지 배쉬에게이 시간. 따라서 echo*으로 표시됩니다.

원래 쿼리에 관해서는, 시도

grep FOO '/path/to/files with spaces/'*