LINUX.ORG.RU

История изменений

Исправление sunny1983, (текущая версия) :

Всё, вопросы со сменой каталога пропали, оказалось, что это вообще не нужно, так так нужно чтобы текущим каталогом на момент выполнение цикла был / потому что tar.

Зная какие дистрибы предпочитают пони, ладно уж признаюсь, что идея у меня вообще не для Debian, а для Slackware, просто идея сильно упоротая чтобы в ней просто так признаваться - нужно установить пакеты в автоматическом режиме при загрузке с initrd, а там нет ни slackpkg, ни installpkg, устанавливать только через tar, но посколько Slackware я знаю плохо, а Debian хорошо - то вопрос задал на примере второго. Всё, больше поводов кидаться в меня тапками не осталось?

По вашим советам скрипт получился такой:

#!/bin/sh
shopt -s failglob
USERDIR=$PWD
cd /
for TXZ in "$DIR"/*.txz
do
   cat "$TXZ" | xz -d | tar -x
   chmod 777 /install/doinst.sh
   /install/doinst.sh
   rm -fR /install
done
cd "$USERDIR"

Исходная версия sunny1983, :

Всё, вопросы со сменой каталога пропали, оказалось, что это вообще не нужно, так так нужно чтобы текущим каталогом на момент выполнение цикла был / потому что tar.

Зная какие дистрибы предпочитают пони, ладно уж признаюсь, что идея у меня вообще не для Debian, а для Slackware, просто идея сильно упоротая чтобы в ней просто так признаваться - нужно установить пакеты в автоматическом режиме при загрузке с initrd, а там нет ни slackpkg, ни installpkg, устанавливать только через tar, но посколько Slackware я знаю плохо, а Debian хорошо - то вопрос задал на примере второго. Всё, больше поводов кидаться в меня тапками не осталось?

По вашим советам скрипт получился такой:

#!/bin/sh
shopt -s failglob
USERDIR=$PWD
cd /
for TXZ in "$DIR"/*.txz
do
   cat "$TXZ" | xz -d | tar -x
   chmod 777 /install/doinst.sh
   rm -fR /install
done
cd "$USERDIR"