Normalmente, uma boa estratégia e, especialmente, para usuários com privilégios de administrador, é aliasing o comando rm para rm -i, que requer confirmação.
coloque-o no seu .bashrc
alias rm='rm -i'
Eu tenho um histórico muito ruim do arquivo rm
ing e depois me arrependo. Eu criei um comando trash
que estou tentando usar mais.
No entanto, ainda tenho muita memória muscular construída em torno de rm
. Existe alguma maneira que eu poderia desvantagem do comando rm
? Talvez forçá-lo a me dar uma confirmação ou apenas torná-lo inutilizável?
Normalmente, uma boa estratégia e, especialmente, para usuários com privilégios de administrador, é aliasing o comando rm para rm -i, que requer confirmação.
coloque-o no seu .bashrc
alias rm='rm -i'
Fazer rm
solicitar confirmação (como na resposta de Rui F Ribeiro ) você terá o hábito de depender disso. Então, se você fizer login em um sistema diferente, você terá uma surpresa indesejável.
Em vez disso, sugiro que você se treine novamente - duas abordagens vêm à mente:
Um, que você sugeriu, é fazer com que rm
simplesmente não funcione. Isso é bastante fácil, alias rm=~/bin/dont-use-rm
(e depois, opcionalmente, criar esse script com um eco lembrando você e um exit 1
).
O segundo é treinar-se para sempre digitar rm -i
. Você poderia fazer a si mesmo: novamente alias rm=~/bin/force-rm-i
, e ter que ser um script de shell ao longo das linhas de:
#!/bin/sh
if [ '-i' != "$1" ]; then
# you could use getopt, etc. for better command-line parsing, but that
# is much more work.
echo -e "\aIgnoring your command because you forgot to use 'rm -i'."
exit 1
else
exec rm "$@"
fi
(Nota: "echo -e" pode não ser suportado por todos os shells; sinta-se à vontade para usar /bin/bash
no topo se o seu /bin/sh
não o fizer.)
Use aliases para isso, porque você pode facilmente configurá-los para afetar somente os shells interativos - você não quer quebrar o "rm" nos scripts de shell.
Tags rm