Как загрузить все файлы, перечисленные в массиве?

Я хочу загрузить все файлы в этом каталоге GitHub в /usr/share/enlightenment/data/config . У меня есть этот скрипт:

 L=('e.cfg' 'e_randr.cfg' 'exehist.cfg' 'module.battery.cfg' 'module.clock.cfg' 'module.conf.cfg' 'module.everything-apps.cfg' 'module.everything-files.cfg' 'module.everything.cfg' 'module.gadman.cfg' 'module.ibar.cfg' 'module.notification.cfg' 'module.pager.cfg' 'module.syscon.cfg' 'module.tasks.cfg') pushd /usr/share/enlightenment/data/config for i in $L do sudo wget -c $JEF/$i #$JEF is defined in my ~/.bashrc script done popd 

но он просто загружает e.cfg и все.

3 Solutions collect form web for “Как загрузить все файлы, перечисленные в массиве?”

Как насчет этого? Меньшее количество котировок, пасетеза и скобок и другой синтаксис ::

 L='e.cfg e_randr.cfg exehist.cfg etc' for i in $L do echo wget -c "$JEF/$i" #$JEF is defined in my ~/.bashrc script done 

Это самый старый и наиболее распространенный способ сделать это. Больше людей это понимают. Массивы – это расширения, которые я никогда не использовал.

В bash или ksh вам нужно выполнить итерацию по всем элементам массива с помощью:

 for i in "${L[@]}"; do wget ....; done 

${L[@]} будет расширен до всех элементов массива L а for используется для итерации по ним.

Если вы используете $L is bash или ksh , он будет вести себя как ${L[0]} то есть в вашем случае вы получите только первый элемент массива.

Я сам вычислил ответ, посмотрев на переменные Array в «Руководстве для начинающих Bash».

Это должен быть сценарий:

 L=('e.cfg' 'e_randr.cfg' 'exehist.cfg' 'module.battery.cfg' 'module.clock.cfg' 'module.conf.cfg' 'module.everything-apps.cfg' 'module.everything-files.cfg' 'module.everything.cfg' 'module.gadman.cfg' 'module.ibar.cfg' 'module.notification.cfg' 'module.pager.cfg' 'module.syscon.cfg' 'module.tasks.cfg') pushd /usr/share/enlightenment/data/config for i in ${L[*]} do sudo wget -c $JEF/$i done popd 
  • wget не загружает файлы рекурсивно
  • wget для получения списка файлов
  • Wget - зеркальное отображение полного сайта с реквизитами на разных сайтах
  • Как использовать параметр wget -wait при использовании ввода из файла?
  • Объединить аргумент xargs с некоторым текстом
  • Ошибка разрешения DNS по неизвестной причине
  • Как создать каталоги, содержащие index.html с помощью wget -recursive?
  • загрузка файлов с помощью wget
  • wget - поврежденные каталоги
  • wget url из моего открытого наружного wx cam
  • Как сделать WGET образ из веб-адреса и сохранить его на удаленном ftp-месте в виде cronjob on dd-wrt
  • Interesting Posts

    Как может * команда * работать, но * команда sudo * не работает?

    рассчитать числа на конец и слить в одну строку

    ZFS в Linux снимок рекурсивно объема и подвыборки

    Переход в режим редактирования в VIM rc?

    Печать многострочной переменной в столбце

    Как отключить разрешения на копирование?

    Почему bash не сохраняет команды, начинающиеся с пробелов?

    Как копировать чувствительность мыши между компьютерами?

    Как преобразовать полный пакет AMD64 Gentoo Handbook в PDF из командной строки?

    Выясните PID точного приложения node.js

    Копирование файла в блок-устройство

    Динамическая зона Bind9: откуда взялась задержка между обновлением и доступностью?

    Изменяется ли хэш файла при изменении имени файла?

    При запуске сценария оболочки можно передавать конкретные позиционные параметры без необходимости вводить их в порядок?

    Как удалить идентичные строки из двух текстовых файлов?

    Linux и Unix - лучшая ОС в мире.