@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. кавычки как одинарные так и двойные конечно же пробовал.
  • Вопрос задан
  • 68 просмотров
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Zoominger
@Zoominger Куратор тега Linux
Сись админ
Попробуйте к пути добавить ./ прямо перед тире.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы