Задать вопрос
@swim3r

Как экранированить имена папкок в tar?

Добрый день.
Имеется bash скрипт, который запускает архивацию папок для ELK.
Названия папок создается из рандомных символов, и когда папка начинается с "-". Например "-32JUVRKW5Qx9MrF49oQ". То tar воспринимает дальнейший символ как опцию, и соответственно падает.
Команда "
tar -cvzf $ARCHIV_DIR/$ARCHIV_DATA.tar.gz -C /srv/lib/elasticsearch/nodes/0/indices/ $INDICES
". Где $INDICES имена папок типа "Bu894OCDRBWxupAuIPKrcg n1cWAfXYRvaszRwvvcN2IQ 9_9CDKEuTJ-OkXdidplEUg и тд"
Как можно экранировать имя, или обойти это?

PS. кавычки как одинарные так и двойные конечно же пробовал.
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    6 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
tar -cvzf $ARCHIV_DIR/$ARCHIV_DATA.tar.gz -C /srv/lib/elasticsearch/nodes/0/indices/ -- $INDICES


Пример:
$ tar cvf 1 -- x y -wow
x/
x/1.txt
y/
y/1.txt
-wow/
-wow/1.txt
 

А тут -w воспринялся как опция
$ tar cvf 1 x y -wow
add ‘x’?^C
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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