Voglio creare uno script che ogni volta che vengono rimossi più di tre file, invochi rm -i
per impostazione predefinita. So che andrà nei file di inizializzazione ma non riesco a farlo funzionare.
Finora:
if [$file -ge 3]; then
rm -i
exit 0
else
rm
exit 1
Risposta accettata:
La funzione fornita nella risposta di @Tim funzionerà su qualsiasi sistema che esegue bash. Tuttavia, GNU rm
ha già un'opzione per ciò di cui hai bisogno (da man rm
):
-I prompt once before removing more than three
files, or when removing recursively. Less
intrusive than -i, while still giving protec‐
tion against most mistakes
Quindi, se hai GNU rm
(cosa che dovresti fare se stai usando Linux) tutto ciò di cui hai bisogno è aggiungere questa riga al tuo /.bashrc
:
alias rm='rm -I'
Questo verrà richiesto prima di eliminare più di 3 file, ma non verrà richiesta conferma per ogni file, se confermi l'azione, tutti i file verranno eliminati.