staging.inyokaproject.org

Skript: Rückgabewert von mv?

Status: Ungelöst | Ubuntu-Version: Kubuntu 18.04 (Bionic Beaver)
Antworten |

moonwalker3

Anmeldungsdatum:
30. Juni 2008

Beiträge: 802

Ich möchte mit einem Skript viele Dateien verschieben, dafür benutze ich mv -n, um Dateien nicht zu überschreiben. Wie kann ich herausfinde, ob der mv-Befehl ausgeführt wurde oder nicht? Falls die Datei nicht ins Zielverzeichnis bewegt wurde, soll sie alternativ woandershin verschoben werden. Wie kann ich das am Besten umsetzen?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

Du könntest vor dem Verschieben selber testen, ob das Ziel schon existiert und darauf reagieren.

Oder du rufst mv zusätzlich mit -v auf - dann schreibt es auf stdout, wenn es eine Datei umbenennt bzw. bei Dateisystemübergreifenden Operationen die Datei zuerst kopiert und dann das Original löscht.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

Auf Existenz testen? Wenn die Datei nach dem mv noch da ist, dann ist sie wohl nicht verschoben worden.

Wenn der Exit-Code von mv -n nicht 0 ist, dann gabs einen anderen Grund für den Fehlschlag, als die bloße Existenz der Zieldatei.

Antworten |