Você pode remover o arquivo com o nome como !!
, apenas escape:
rm \!\!
ou apenas rm !<TAB>
- > rm \!\!
Fora de moda, eu saí de vim
usando :wq!!!
. Isso criou um arquivo chamado !!
.
Dado que !!
referencia o comando anterior, a tentativa de interagir com ele produz resultados interessantes.
Eu tentei rm ./!!
e rm -- !!
. Ambos puxariam o comando anterior (como deveria).
Uma solução fácil é simplesmente iniciar um shell que não trata !!
como algo especial, mas isso é muito fácil.
Como posso interagir corretamente com o arquivo no bash?
Com o Bash, você pode usar rm - '!!'
$ cat '!!'
Lorem ipsum dolor sit amet
$ ls
!!
$ rm '!!'
$ ls
$
Excape the "!" personagem com barra invertida. Ou desative a expansão do histórico.
set +o histexpand
Sempre acho mais fácil agrupar nomes de arquivos / diretórios criados com caracteres especiais usando aspas simples:
rm '!!'
rm -rf '&$dir'
\!\!
Você deve pegar um terminal que possa automatizar isso para você, no meu Terminal.app eu posso soltar qualquer coisa com um nome parecido
√ƒ¸[|¸ƒ¸|[∂[ƒ√[[ƒ||[]√ƒ√¸•[]¸√[®¸@£|[¸|[]]ƒ¸é[
E ele vai escapar por mim automaticamente. Considere fazer isso, para evitar fazer esses tipos de perguntas no futuro.