비교하다
grep '.*[s]' 파일
그리고
grep .*[s] 파일
이것이 작동하려면 왜 견적이 필요합니까? 두 번째 경우에는 grep이 마침표가 있는 모든 파일을 확인하려고 하는 것 같습니다.
답변1
매개변수 주위의 따옴표(단일 또는 이중)는 전역 확장을 억제합니다.
첫 번째 예는 정규 표현식을 에 인수로 전달합니다 grep
. 두 번째 예에는 셸 자체로 확장된 glob 패턴이 포함되어 있으며 해당 패턴에 맞는 파일 이름을 인수로 전달합니다 grep
.
답변2
또한 비교하십시오:
echo '.*[s]' file
그리고
echo .*[s] file
그러면 명령에서 확인한 인수가 출력됩니다.
첫 번째 예에서는 grep
모드와 파일이라는 두 가지 매개변수를 명령에 전달했습니다.
두 번째 예에서는껍데기첫 번째 인수는 처리되어 점으로 시작하고 "s"로 끝나는 모든 파일로 대체됩니다. 따라서 grep 명령은 여러 인수를 사용하며 명시적으로 지정된 다른 모든 확장 파일 이름과 파일 중에서 첫 번째(확장) 파일 이름을 찾으려고 시도합니다.