Создание tar-файла с помощью remove-files и exclude

Вы полностью развенчали представление оболочки Bourne Again о том, что было напечатано и что нужно стереть / перезаписать, поскольку она отображает историю команд и позволяет редактировать командную строку.

Разбивка приглашения на разделы:

  1. \ [\ e] 0; \ u @ \ h: \ w \ a \] - непечатаемые символы, правильно заключенные
  2. $ {debian_chroot: + ($ debian_chroot)} - печатаются только символы, предположительно
  3. \ [\ 033 [01; 36m \] - непечатаемые символы, правильно заключенные
  4. \ u @ \ h - печатаются только символы
  5. \ [\ 033 [00m \] - непечатаемые символы, правильно заключены
  6. \ 033 [01; 34m \] - непечатаемые символы, неправильно заключены, поэтому Оболочка Bourne Again не знает, что это
  7. \ w \ 033 [00m \] - ошибочная смесь печатных и непечатаемых символов
  8. [$ (введите __git_ps1> / dev / null 2> & 1 && __git_ps1 "(% s)")] - печать только символов, предположительно

Я давал этот совет раньше , но это общий совет, что применимо и здесь:

  • Используйте последовательно либо \ e , либо \ 033 , для вашего собственного здравомыслия.
  • Сделайте ваши \ [ и \] строго совпадающими невложенными парами.
  • Убедитесь, что все непечатаемые последовательности находятся в пределах \ [ и \] (и что, наоборот, все последовательности печати - нет).

(Вот почему я лично предпочитаю Z Shell и ее альтернативный механизм расширения подсказок, когда мне нужны дурацкие цветные подсказки.Он знает , что такие вещи, как % F {зеленый} , не печатают последовательности, без необходимости сообщать; и он также вырабатывает правильные escape-последовательности из terminfo без их аппаратного подключения.)

2
19.01.2017, 17:12
2 ответа
( cd /test; tar --remove-files --exclude file1.txt --exclude archive -cvzf archive/test.tar.gz * )

Уловка заключается в том, чтобы cd в каталог, а затем tar * ; подоболочка предотвратит любой эффект cd в оболочке верхнего уровня.

3
27.01.2020, 22:10

Вы пытаетесь использовать - remove-files , который "удалит файлы после их добавления в архив. ".

Вы помещаете архив в /test/archive/test.tar.gz и сохраняете / test / . Параметр - remove-files сообщает tar удалить каталог / test / в конце, но пока tar запущен, он будет обращаться к файлу /test/archive/test.tar.gz , поэтому вы не сможете удалить каталог.

Вы можете либо отказаться от опции - remove-files , либо поместить свой tar в другой каталог.

0
27.01.2020, 22:10

Теги

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