GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Skripting von `rm` und `rm -i`?

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.


Linux
  1. So archivieren und komprimieren Sie Dateien unter Linux

  2. Linux Dateien und Verzeichnisse löschen

  3. Suchen und kopieren Sie Dateien

  4. tcpdump – Rotieren Sie Capture-Dateien mit -G, -W und -C

  5. Lieblings-rsync-Tipps und Tricks

So schließen Sie Dateien und Verzeichnisse mit Rsync aus

So komprimieren Sie Dateien und Verzeichnisse unter Linux

Ansible Inventar- und Konfigurationsdateien

Komprimieren und Archivieren von Dateien und Verzeichnissen

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Standarddateien und -verzeichnisse in cPanel