Исправление сценария оболочки

Используйте функцию добавления tar с некоторыми уловками. Что-то вроде этого?

$ mkdir temp3; mkdir temp3/temp1    # create another, empty temp1 dir
$ ln temp2 temp3/temp1/temp2        # link temp2 into fake temp1

а затем ...

$ tar cf example.tar temp1      # 1st part of archive without temp2
$ cd temp3
$ tar rf ../example.tar temp1   # append temp2 as subfolder of temp1 to archive

Использование жестких ссылок позволяет по-прежнему иметь символические ссылки во временных каталогах, обрабатываемых как символические ссылки. Так что -h не требуется. Может позже уберечь тебя от неприятностей.

Вы также можете взглянуть на расширения GNU tar, такие как --transform, в сочетании с командой добавления. См. Также: http://www.linuxquestions.org/questions/linux-newbie-8/tar-subdirectory-question-821074/

0
02.06.2019, 14:04
1 ответ

У меня не работало, как написано, предположительно потому, что

answer=`dd bs=1 count=1 2> /dev/null `

не выполняет команду и устанавливает answerв возвращаемое значение dd, а вместо этого присваивает строку(dd bs=1 count=1)переменной answer.

Редактирование для расширения

answer=$(dd bs=1 count=1 2> /dev/null)

работал нормально

0
28.01.2020, 03:38

Теги

Похожие вопросы