Вы можете создать tar-архив в командной строке следующим образом:
tar czvf mytar.tar.gz dir1 dir2 .. dirN
Если вы захотите сделать это в скрипте bash и передать каталоги в качестве аргументов скрипту, эти аргументы будут заканчиваться на $@
. Итак, у вас есть:
tar czvf mytar.tar.gz "$@"
Если это в скрипте (скажем, myscript.sh
), вы бы назвали это:
./myscript.sh dir1 dir2 .. dirN
Если вы хотите читать из списка (ваш вариант 1), вы можете сделать это следующим образом (это не работает, если в именах каталогов есть пробелы):
tar czvf mytar.tar.gz $(<config.txt)