Ich möchte ein Skript erstellen, das immer dann, wenn mehr als drei Dateien entfernt werden, rm -i
aufruft standardmäßig. Ich weiß, dass es in Initialisierungsdateien aufgenommen wird, kann es aber nicht zum Laufen bringen.
Bisher:
if [$file -ge 3]; then
rm -i
exit 0
else
rm
exit 1
Akzeptierte Antwort:
Die in der Antwort von @Tim angegebene Funktion funktioniert auf jedem System, auf dem Bash ausgeführt wird. GNU rm
jedoch hat bereits eine Option für das, was Sie brauchen (von 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
Wenn Sie also GNU rm
haben (was Sie tun sollten, wenn Sie Linux verwenden) alles, was Sie brauchen, ist diese Zeile zu Ihrem /.bashrc
hinzuzufügen :
alias rm='rm -I'
Dies wird Sie vor dem Löschen von mehr als 3 Dateien auffordern, aber es wird nicht für jede Datei nach einer Bestätigung gefragt, wenn Sie die Aktion bestätigen, werden alle Dateien gelöscht.