Jak uzyskać cpio (gnu, rhel 4), aby wypakować do określonego katalogu?

9

Powodem jest to, że chcę zrobić porządny skrypt zamiast

cd /some/dir
cpio -whatever<somefile
cd -
Erik I.
źródło

Odpowiedzi:

10

W GNU cpio nie ma na to nic. To może być trochę czystsze:

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

Użycie nawiasów podpowłoki pozwoli zachować bieżący katalog roboczy skryptów, a użycie && zapewni, że wyodrębnienie procesora zostanie wykonane tylko wtedy, gdy pomyślnie zmienisz katalog na docelowy.

TCampbell
źródło
3
somefileMusi faktycznie zamieszkują w /some/dirtutaj. Właśnie spróbowałem i powiedziałem, że nie można znaleźć plików. Musisz albo użyć ścieżek względnych z powrotem do miejsca, gdzie były pliki, albo ścieżek bezwzględnych.
CMCDragonkai
0

Dodając jeszcze więcej do tego, co zrobił TCampbell:

(cp / some / file / some / dir && cd / some / dir && cpio -whthing <plik && rm -f plik)

Payero
źródło