Wie kann man cpio (gnu, rhel 4) dazu bringen, in ein bestimmtes Verzeichnis zu extrahieren?

9

Grund ist, dass ich stattdessen ein ordentliches Skript erstellen möchte

cd /some/dir
cpio -whatever<somefile
cd -
Erik I.
quelle

Antworten:

10

In GNU cpio gibt es nichts, was dies zulässt. Dies könnte etwas sauberer sein:

(cd /some/dir && cpio -whatever < /some/file)

Durch die Verwendung der Subshell-Klammern bleibt das aktuelle Arbeitsverzeichnis des Skripts erhalten, und durch Verwendung von && wird sichergestellt, dass die CPIO-Extraktion nur durchgeführt wird, wenn Sie die Verzeichnisse erfolgreich in das Ziel ändern.

TCampbell
quelle
3
Das somefilemuss eigentlich hier wohnen /some/dir. Ich habe es gerade versucht und es wurde gesagt, dass die Dateien nicht gefunden werden konnten. Sie müssen also entweder relative Pfade zurück zu den Dateien oder absolute Pfade verwenden.
CMCDragonkai
0

Ein bisschen mehr zu dem hinzufügen, was TCampbell getan hat:

(cp / some / file / some / dir && cd / some / dir && cpio -was auch immer <file && rm -f file)

Payero
quelle