Que tal?
rm -i ?
Acho que isso deve funcionar ...
Eu acidentalmente criei um arquivo chamado °
. Agora estou tendo problemas para excluí-lo com o bash.
[/opt/etc/sudoers.d] # ls -l
-r--r----- 1 admin administ 21 Feb 3 23:54 010-root
-rw-r--r-- 1 admin administ 20 Feb 3 23:50 °
Digitar rm °
parece mover somente o cursor para o início da linha, ou seja, nenhum caractere é inserido.
(Por que vale a pena estou executando bash 3.2.0 em uma máquina remota conectada com SSH usando o Mac OSX Terminal)
Alguma idéia?
Se houver muitas correspondências para usar um curinga com rm como rm -i ?
, você poderá removê-lo pelo número de inode:
ls -i
e find . -inum <inode> -ok rm '{}' \;
Em que <inode>
é o número do inode de ls -i
, que lista todos os números de inode dos arquivos no diretório atual.
A resposta rm -i ?
está bem.
Isso também funcionaria:
rm [^a-z]
como seria
rm [[:punct:]]
E por que está voltando para o início da linha, como você está digitando o ˚
? Talvez a entrada esteja sendo interpretada como Ctrl+A
ou algum outro atalho usado pelo shell para ir ao início da linha.
Existe uma configuração para definir a codificação ou o conjunto de caracteres como utf-8
no aplicativo do terminal? O que imprimirá se você executar locale
dentro da sessão de terminal?
E como você criou o arquivo? Talvez você possa usar um método semelhante para excluí-lo?