Como alias rm para sempre confirmar

3

Quando eu uso o comando rm -rf , quero ter certeza de que sempre apareça um aviso antes de excluir um arquivo, então tentei adicionar isso em ~/.bashrc

alias 'rm -rf'='rm -rfi'

Mas isso não funciona. Como posso consertar isso? Muito obrigado.

    
por LawrenceLi 11.02.2016 / 05:00

3 respostas

3

A confirmação é uma maneira fraca de alcançar o resultado desejado: não é possível excluir os arquivos que você não deseja excluir. Posso pedir-lhe para confirmar 10 vezes seguidas, mas se desde que você acabou de me pedir para excluir mispeled.txt você não vai perceber o seu erro até depois que você confirmou.

É melhor usar trash ou comando similar no sistema que envia arquivos para a "lixeira" (recuperável). Há uma compilação RPM do pacote trash-cli em rpmfind.net mas não posso garantir essa versão. Quando estiver em dúvida, edite-o no código-fonte .

Como observado nos comentários, é uma má idéia alias rm , porque irá voltar a te morder quando você estiver em uma concha que não tenha um alias de proteção e seu cérebro está acostumado a ter um "seguro" rm .

    
por 11.02.2016 / 09:36
3

No seu ~/.bashrc , você pode simplesmente fazer isso:

alias rm='rm -i'

Dessa forma, quando você digita rm -rf example-dir , o Bash traduz para rm -i -rf example-dir .

Observe que, para shells de login interativos, ~/.bash_profile é usado no lugar. Para fazer login shells também use ~/.bashrc , simplesmente adicione isso ao seu ~/.bash_profile :

[[ -f ~/.bashrc ]] && source ~/.bashrc

Agora, ~/.bashrc será sempre executado sempre que você abrir uma sessão de terminal ou ssh.

    
por 11.02.2016 / 07:27
1

f - > força, nunca avisa

i - > pedir todas as vezes

Se você precisar ser solicitado, use apenas rm -i no alias. Você pode ter 2 aliases (rmf e rmi) se quiser ter ambos.

    
por 11.02.2016 / 05:12

Tags