2016-12-18 2 views
0

Hallo Freund Ich habe ein Unix-Skript, das Dateien von einem Ordner in einen anderen Ordner mit geänderten Namen verschiebt. Die Dateigröße ist sehr groß.wie bekomme ich die Beschreibung des Fehlers in Unix

Ich habe das Echo "Return code:" $ 0, um den Ergebniscode der Datei mv Befehl zu erhalten. Dies wird entweder 1 oder 0 zurückgeben. Ich bekomme 1 für bestimmte Datei, die sehr groß ist. Können Sie mir vorschlagen, wie ich die Beschreibung des Fehlers bekomme? Dank Deepak

+0

'$ 0' ist der Name des Skripts; Ich denke du meinst "$?". Bitte geben Sie den genauen Befehl an, den Ihr Skript tatsächlich in der Frage verwendet. Wenn 'mv' fehlschlägt, wird' $? 'Auf' 1' gesetzt * und * eine Fehlermeldung an stderr ausgegeben. –

Antwort

2

Versuchen mv -vmv ausführliche darüber zu machen, was es tut.

+0

Ich glaube, dass nur der Name jeder Datei gedruckt wird, bevor Sie sie verschieben. Dies wird wahrscheinlich keine Informationen liefern, die das OP noch nicht hat. –

0

Ein anderer Weg, um Informationen zu bekommen über das, was mv ist tut, so lange wie Sie Linux verwenden, die strace Befehl zu verwenden, zusammen mit dem Befehl, den Sie verfolgen möchten, wie folgt aus:

strace mv file1 file2 

Diese informiert Sie über alle von mv ausgegebenen Systemaufrufe, deren Parameter und deren Ergebnisse. Ein wertvolles Werkzeug zum Aufspüren von Programmen, die beim Umgang mit dem Betriebssystem nach unerwarteten Fehlern suchen.

+0

Dies ist eher ein Debugging-Tipp als etwas, das Sie in ein Skript aufnehmen möchten. – chepner

+0

Betrachtet man die Fehlermeldung 'mv' wird auf stderr gedruckt viel einfacher (das OP scheint das nicht getan zu haben). –

Verwandte Themen