grep "!"이 "bash:!: 이벤트를 찾을 수 없음"을 표시하는 이유는 무엇입니까? [복사]

grep "!"이 "bash:!: 이벤트를 찾을 수 없음"을 표시하는 이유는 무엇입니까? [복사]

내가 달리면

grep "!" test.txt

오류가 표시됩니다

bash: !: 이벤트를 찾을 수 없습니다

좋아, 실제로 grep '!'.

나는 !그것이 bash 특수 문자라는 것을 알고 있습니다. ~에 따르면http://mywiki.wooledge.org/Quotes.

큰따옴표: "..."는 일부 대체를 방지하지만 다른 대체를 허용합니다. 달러 기호 $로 시작하는 각 대체는 레거시 ...(백틱) 명령 대체와 마찬가지로 수행됩니다. 또한 백슬래시 이스케이프를 수행합니다. 단어 분리나 파일 이름 확장은 수행되지 않습니다.

큰따옴표가 영향을 미칠 것이라는 언급은 없습니다! . bash나 grep을 해석하는 방법을 설명해 줄 수 있는 사람이 있나요 grep "!"? "이벤트"란 무엇입니까?

답변1

이것 때문에 발생한 것이 아닙니다 grep. bash설명하는 사람은 바로 당신입니다 !. 최신 버전으로 전환 bash하거나 를 사용하여 single quotes '!'종료하세요 bash.

답변2

당신은 배쉬를 보고 있다역사적 확장특징. 어떤 사람들은 이전 명령을 기억하는 것이 편리하다고 생각하지만 저는 단지 set +o histexpandmy를 입력하고 +를 .bashrc눌러 부분 명령을 검색합니다.CtrlR

관련 정보