Você pode escapar do $
com \
:
rm \$file
Eu estava trabalhando em um script de shell e criei acidentalmente um arquivo com a variável como seu nome. Agora tenho $file
na minha ls
saída e não consigo removê-la. O que posso fazer?
Basicamente, se você quiser fazer coisas literais com esses personagens estranhos, você precisa escapar. Em um shell existem várias maneiras de fazer isso. O primeiro é prefixar um '\' para cada caractere que você deseja escapar. Então você pode fazer rm \$file
. Outra maneira é citá-los com aspas simples, por exemplo, rm '$file'
ou rm '$'file
. Algumas pessoas também consideram aspas duplas como um meio de "escapar", mas só escapa aos espaços em branco. Por exemplo, se você tem um arquivo chamado a file
, você pode fazer
rm a\ file
ou
rm 'a file'
ou
rm "a file"
Você também pode fazer
rm '$file'
Coisas entre aspas simples são consideradas literalmente sempre, portanto globs e variáveis não são expandidas.
Se você acidentalmente criar um arquivo chamado -rf
, poderá usar rm -- -rf
para excluí-lo.
Qualquer gerenciador gráfico de arquivos deve ser capaz de lidar com isso através do menu de contexto, porque ele não tenta interpretar nada.