"!!"라는 파일과 어떻게 상호 작용합니까? [복사]

"!!"라는 파일과 어떻게 상호 작용합니까? [복사]

화가 나서 를 vim사용하여 종료했습니다 :wq!!!. 그러면 .라는 파일이 생성됩니다 !!.

!!이전 명령이 참조된 경우 해당 명령과 상호 작용하려고 하면 흥미로운 결과가 나타납니다.

나는 노력 rm ./!!했고 rm -- !!. 둘 다 이전 명령을 가져옵니다(필요한 대로).

!!간단한 해결책은 특별한 일을 하지 않는 쉘을 시작하는 것이지만 이는 너무 간단합니다.

Bash에서 파일과 올바르게 상호 작용하는 방법은 무엇입니까?

답변1

다음과 같은 이름의 파일을 삭제하고 !!이스케이프하면 됩니다.

rm \!\!

아니면 그냥 rm !<TAB>->rm \!\!

답변2

Bash에서는 rm -- '!!'를 사용할 수 있습니다.

$ cat '!!'
Lorem ipsum dolor sit amet
$ ls 
!!
$ rm '!!'
$ ls 
$

답변3

백슬래시가 있는 "!" 문자를 제거하세요. 또는 기록 확장을 비활성화합니다.

set +o histexpand

답변4

\!\!

이 작업을 자동으로 수행하는 터미널이 있어야 합니다. 내 Terminal.app에서 다음과 같은 이름을 삭제할 수 있습니다.

√ƒ¸[|¸ƒ¸|[∂[ƒ√[[ƒ||[]√ƒ√¸•[]¸√[®¸@£|[¸|[]]ƒ¸é[

자동으로 탈출합니다. 앞으로는 그런 질문을 하지 않도록 생각해 보세요.

관련 정보