2017-05-24 8 views
0

현재 Bash를 배우고 있고 다음과 같은 문제가 발생했습니다. 명령 find -name '*s'Bash 명령과의 혼동 --- find -name '* s'

는, 말 그대로 *s 같은 명령 이름 *s으로 모든 파일을 찾을 것으로 예상했지만, 대신, 배쉬는 s로 종료 모든 파일을 발견했다.

작은 따옴표 안의 모든 내용이 일반 문자열처럼 취급 될 것이라고 생각했습니다. 내 이해에서 빠진 것이 무엇입니까?

나는 질문에 자연의 후속이 될 것 같아요

내가 find -name *s 확장 할 수 있지만, 대신 bash는 나에게 다음과 같은 메시지

enter image description here

답변

1

을 제공 기대 find-name 옵션은 문자열을 기대 그래서 당신은 작은 따옴표 안에 그것을 전달할 필요가 있습니다. 특수 문자를 이스케이프의 경우 원하는 결과를 생성합니다이 경우 find . -name '\*s'에서 \

를 사용