Reason is I want to make a tidy script instead of
cd /some/dir
cpio -whatever<somefile
cd -
Reason is I want to make a tidy script instead of
cd /some/dir
cpio -whatever<somefile
cd -
There is nothing in GNU cpio to allow for this. This might be a little cleaner:
(cd /some/dir && cpio -whatever < /some/file)
Using the subshell parentheses will preserve the scripts current working directory and using && will ensure that the cpio extraction is only done if you successfully change directories to the target.
Use -D
option (cpio (GNU cpio) 2.13
, should be available in most modern distributions):
OPTIONS
Operation modifiers valid in any mode
-D, --directory=DIR
Change to directory DIR.
cat archive | cpio -D /tmp/outdir -idmv
Output directory will be created, if it doesn't exist.
Adding a little more to what TCampbell did:
(cp /some/file /some/dir && cd /some/dir && cpio -whatever < file && rm -f file)