Devemos usar sistematicamente '-' ao executar 'rm'?

1 resposta

2

Em um mundo perfeito, acho que sim, devemos usar sistematicamente -- . Mas todos nós aprendemos a usar o comando rm sem digitar sistematicamente -- , e digitá-lo custa três pressionamentos de tecla extras para que eu não veja isso acontecendo. Além disso, a convenção -- para finalizar as opções nem sempre existiu (é por isso que muitas pessoas não aprenderam sobre isso quando aprenderam a usar rm ).

Dito isto, ao usar rm (e outros comandos) em scripts de shell, você definitivamente deve sempre programar defensivamente. Então, por exemplo:

rm "$1"    # Remove the file named in the first command line argument

não é seguro e deve ser rm -- "$1" . No entanto,

rm "/var/spool/foo/$thatfile"

é seguro, porque o conteúdo de $thatfile não pode fazer com que rm interprete mal seus argumentos.

No seu exemplo específico ( rm * ), provavelmente usaria rm ./* como solução segura.

    
por 01.05.2012 / 00:25