Причина в том, что я хочу сделать аккуратный сценарий вместо
cd /some/dir
cpio -whatever<somefile
cd -
В GNU cpio нет ничего, что позволяло бы это делать. Это может быть немного чище:
(cd /some/dir && cpio -whatever < /some/file)
Использование скобок subshell сохранит текущий рабочий каталог скриптов, а использование && обеспечит выполнение извлечения cpio только в том случае, если вы успешно измените каталоги на целевой.
somefile
Имеет на самом деле проживает в/some/dir
здесь. Я просто попробовал, и он сказал, что не может найти файлы. Таким образом, вы должны либо использовать относительные пути назад, где файлы были, либо абсолютные пути.Добавим немного больше к тому, что сделал TCampbell:
(cp / some / file / some / dir && cd / some / dir && cpio -wh независимо <file && rm -f file)
источник