Ubuntu 12.04에서 문자열 검색을 시도하고 있는데 결과는 다음과 같습니다.
find . -exec grep -l "!45" {} \;
문자열 "!45"는 더 이상 검색되지 않지만 top
. 명령을 호출하는 대신 "top"이라는 용어 검색을 시작합니다. -F
for를 알아내기 전에는 grep
특수 문자가 따옴표 사이의 텍스트로 처리될 것이라고 생각했습니다.
어쨌든 이제 이걸 발견했으니,나는 그것이 무엇인지, 무엇을 하는지, 왜 존재하는지 전혀 모릅니다!
답변1
Bash 셸에서는 !45
명령 역사에서 명령 (또는 !32
또는 )을 반환합니다 !873
.
이벤트 표시기는 기록 목록의 명령줄 항목에 대한 참조입니다. 참조가 절대적이지 않은 경우 이벤트는 기록 목록의 현재 위치를 기준으로 합니다.
!
공백, 탭, 줄 끝, "=" 또는 "("(내장된 shopt를 사용하여 extglob 쉘 옵션이 활성화된 경우)가 뒤에 오지 않는 한 기록 교체를 시작합니다.
!N
명령줄 n을 참조하세요.
여기에서 확인하세요자세한 내용은 bash 매뉴얼을 참조하세요.