LINUX.ORG.RU

запретить извлечение в текущий каталог

 ,


0

0

как запретить tar извлекать в текущий каталог, если он не совпадает с каталогом извлекаемого файла? т.е если я забыл добавить опцию -C, чтоб или происходил запрос на подтверждение(или лучше запрос директории), или извлечение не происходило. или придумать какой-то хитрый алиас(или function), но с алиасом на tar проблема - если сделать alias tar='tar -C' - то флаги f x j и т.д. он уже не увидит. до уровня functions я пока не дорос, может кто-то подскажет?

★★★★★

Последнее исправление: teod0r (всего исправлений: 2)

Скрипт с именем tar напиши, положи его в директорию в PATH перед /usr/bin, а из скрипта вызывай /usr/bin/tar после всех проверок

sdio ★★★★★
()
Ответ на: комментарий от sdio

костыльно. как быть, если в PATH одна директория?
да и вообще это какой-то не тот путь, который я хотел

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

Почему костыльно? Если без bash functions, то самое то.

Что мешает изменить PATH?

mky ★★★★★
()
Ответ на: комментарий от lazyklimm

alias
но с алиасом на tar проблема - если сделать alias tar='tar -C' - то флаги f x j и т.д. он уже не увидит

teod0r ★★★★★
() автор топика

Ещё костыль.

tar() {
  if [ `expr match "$*" ".* -C .*"` == 0 ]; then
    echo -n Directory:
    read dirname
    [ ! -d "${dirname}" ] && echo "Directory ${dirname} doesn't exist" && return
    `which tar` $@ -C "${dirname}"
  else
    `which tar` $@
  fi
}

backbone ★★★★★
()

до уровня functions я пока не дорос, может кто-то подскажет?

Пей «растишку».

anonymous
()
Ответ на: комментарий от teod0r

Честно говоря, оно было предложено для решения проблемы с архивами, которые содержат в корне кучу файлов и замусоривают (а иногда и заменяют файлы) текущий каталог (мне было лень читать топик, а по заголовку показалось, что вопрос именно об этом). Но раз оказалось полезно, то хорошо %)

Homura_Akemi
()
Ответ на: комментарий от zolden

сорри
в первый раз
don't strip leading `/'s from file names (-P)
а -p
extract information about file permissions (default for superuser)

но что don't strip leading `/'s from file names даёт?

teod0r ★★★★★
() автор топика
Ответ на: комментарий от Homura_Akemi

единственное, чего не хватает - ключа для извлечения в директорию, в которой лежит сам архив (но не всмысле не создавать каталог при наличии нескольких файлов в архиве, а всмысле каг бы делать автом cd в каталог с архивом)

teod0r ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.