Beim Versuch, die weitergeleitete TAR-Datei mit dem folgenden Befehl zu dekomprimieren, wird die folgende Fehlermeldung angezeigt:
$ git archive --format=tar 0af62b1 | tar -xf -C /the/path/here/
tar: -C: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Der erste Teil git archive --format=tar 0af62b1
gibt eine Tar-Datei aus, die auf dem Bildschirm gedruckt wird. Diese Ausgabe kann mit dem Parameter in einer Datei erfasst werden --output file_name
.
Im zweiten Teil versuche ich, den Inhalt der Datei in den angegebenen Pfad zu extrahieren. Wenn beide einzeln ausgeführt werden, funktioniert es perfekt, git archive 0af62b1 --output file_name
gefolgt von tar -xf file_name -C /the/path/here/
.
Warum ist in diesem Fall keine Weiterleitung möglich und woher weiß ich, ob ein bestimmter Befehl weitergeleitete Eingaben akzeptiert?
Antwort1
Ich würde versuchen, Ihr Dokument git
dorthin weiterzuleiten tar -xf - -C /the/path/here/
, wo -
auch die Standardeingabe ist. Oder einfacher tar -xC /the/path/here
( -
ist die Standarddatei).
Antwort2
Das Problem wird in Ihrer Fehlerausgabe angegeben:
$ git-Archiv --format=tar 0af62b1 | tar-xf -C/der/Pfad/hier/
tar:-C: Kann nicht geöffnet werden:Keine solche Datei oder kein solches Verzeichnis
tar: Fehler ist nicht behebbar: wird jetzt beendet
Sie weisen Tar an, eine Datei mit dem Namen -C zu verwenden, die nicht existiert, und daher tritt ein Fehler auf.
Im Arbeitsfall geben Sie eine Datei mit dem Namen Dateiname ein, die existiert, und alles funktioniert.
Mögliche Lösung: Entfernen Sie „-f -C“ aus dem Befehl.