Graceful Degradation für Globbing an Klemme
-
22-09-2019 - |
Frage
Wenn glob Muster Spiel ausfällt, stoppt er die ganze Arbeit. Zum Beispiel
$ mv *.jpg *.png folder1 && blahblah
mv: cannot stat `*.jpg': No such file or directory
*. Png nicht bewegt zu folder1 und blahblah wird nicht ausgeführt.
Und das Script unten funktioniert nur für den Fall, wenn beide. [A-z] * und * gelingen.
#!/bin/bash
cd $1
du -sk .[A-z]* *| sort -rn | head
Wie kann ich machen Globbing anmutig scheitern, höchstens Warnungen anzeigt, aber niemals den Job zu stoppen?
Lösung
In Bash, shopt -s nullglob
ermöglicht ein gescheiterter glob ohne Fehler zu nichts zu erweitern.
Andere Tipps
dann eine Schleife verwenden. KISS
for files in jpg png
do
mv *.${files} /destination 2>/dev/null && do_something
done
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow