Re: bash-Alias und stderr-Umleitung
Tobias Schlemmer <[email protected]>
| Newsgroups | gmane.user-groups.linux.dresden |
|---|---|
| Message-ID | <[email protected]> |
Am 30.06.22 um 13:23 schrieb Jakob Mendel: > Liebe Fachleute, > > LaTeX erzeugt meist etliche Hilfsdateien. Die können nach Abschluß des > Projekts gelöscht werden, wofür ich mir ein bash-Alias eingerichtet (und > in .bashrc abgespeichert) habe: > > $ alias rmTeX='rm -i *.aux *.log' > > (Das originale Alias umfaßt noch andere Dateinamen-Endungen; hier geht > es nur ums Prinzip.) > > Wenn es mindestens eine aux- und mindestens eine log-Datei gibt, > funktioniert das Alias wie gewünscht. Fehlen solche Dateien, gibt es > eine Fehlermeldung: > > $ rm -f *.aux *.log > $ touch 1.aux > $ rmTeX > rm: Normale leere Datei '1.aux' entfernen? > rm: das Entfernen von '*.log' ist nicht möglich: Datei oder Verzeichnis > nicht gefunden > $ > > Diese Fehlermeldung wollte ich unterdrücken: > > $ alias rmTeX='rm -i *.aux *.log 2> /dev/null' warum nicht alias rmTeX='rm -if *.aux *.log' ? Willst Du wirklich bei jeder Datei gefragt werden, ob sie gelöscht werden soll? Du kannst die Dateien auch liegen lassen und der .gitignore hinzufügen. > > Das funktioniert auch, ABER jetzt wird auch die von "rm -i" erzeugte > Abfrage > > rm: Normale leere Datei '1.aux' entfernen? > > ebenfalls unterdrückt. Statt dessen wartet bash stumm auf eine Eingabe. > > Läßt sich das gewünschte Verhalten (Löschdialoge ja, Fehlermeldungen > nein) erreichen? > > Vielen Dank > Jakob > > P. S. distrowatch.com gibt als aktuelle bash-Version 5.1.16 an. Bei mir > läuft noch Version 4.4.20(1)-release (x86_64-pc-linux-gnu), doch halte > ich das nicht für die Ursache des Problems. >