Sempre que eu rmmultiplico itens de uma só vez com o shell globbing e há a menor possibilidade de que o padrão se expanda para mais do que eu esperava, sempre tento me lembrar de adicionar -i, mas (é claro) eu poderia esquecer e acidentalmente afastar algo útil. Algumas pessoas tentam resolver esse problema com um pseudônimo, como, por exemplo, alias rm='rm -i'mas eu odeio a idéia de tornar a rm sempre interativa, porque, assim, adquirirei o hábito de usar -fo tempo todo, o que obviamente derrotará todo o propósito.
O que eu gostaria de fazer é rmusar somente -iquando uso globbing e, é -fclaro -i, substituir , para que eu ainda possa explodir diretórios inteiros com o habitual rm -rf junk.
Portanto, rm *blah*seria realmente, rm -i *blah*mas rm blahfuncionaria exatamente como digitado.
Caso haja uma diferença em como isso pode ser feito em diferentes shells, escolherei uma resposta que forneça métodos para o bash e o zsh em vez de respostas que cobrem apenas uma ou outra.
Nota : Na verdade, não estou convencido de que isso seja necessariamente uma boa ideia; Só estou perguntando se é possível. Se você acha que essa é uma idéia estúpida, eu ficaria muito feliz em ouvir o raciocínio por trás da sua opinião, mas não publique esses comentários no campo de resposta . Respostas reais me dizem como fazer isso ou explicam isso / por que não é possível (ou possivelmente oferecem um método alternativo para obter um resultado semelhante). Mas se você quiser me dizer por que isso é idiota, poste como comentário. Vou votar comentários bem fundamentados, mesmo que eu discorde da conclusão.
noglobpor exemplo, aliasing rm to noglob my-rme, em seguida, fazer com que my-rm seja um script que verifique se há um glob, o expande e passa -i ou não. Não tenho certeza, não sei zsh.
myrme deixar esse script fazer as coisas maravilhosas que você gosta.
rm -Ié assim-ique só é acionado quando mais de três arquivos ou-rsão passados. Embash, use oCtrl-x *atalho de teclado para expandir a glob e inspecionar você mesmo.