A razão é que eu quero fazer um script arrumado em vez de
cd /some/dir
cpio -whatever<somefile
cd -
Não há nada no GNU cpio que permita isso. Isso pode ser um pouco mais limpo:
(cd /some/dir && cpio -whatever < /some/file)
O uso dos parênteses do subshell preservará o diretório de trabalho atual dos scripts e o uso de && garantirá que a extração do cpio seja feita apenas se você alterar com êxito os diretórios para o destino.
somefile
tem que realmente residir/some/dir
aqui. Eu apenas tentei e ele disse que não conseguia encontrar os arquivos. Portanto, você precisa usar caminhos relativos para onde estavam os arquivos ou caminhos absolutos.Adicionando um pouco mais ao que o TCampbell fez:
(cp / some / file / some / dir && cd / some / dir && cpio -whatever <arquivo && rm -f arquivo)
fonte