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

Я хочу загрузить все файлы в этом каталоге 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 образ из веб-адреса и сохранить его на удаленном ftp-месте в виде cronjob on dd-wrt
  • Ошибка при перезагрузке Wget из памяти
  • Wget: конвертировать ссылки и избежать повторной загрузки уже загруженных файлов?
  • Загрузите несколько файлов с помощью wget параллельно
  • Загрузите с помощью wget в другой каталог, чем текущий каталог
  • Does -q определенно отключить ведение журнала вывода wget?
  • Как поставить отметку времени с помощью: wget --output-file =
  • В чем разница между curl и wget?
  • Почему я не могу передать файл через wget (FTP) с помощью функции exec () в PHP?
  • Как загрузить файлы с веб-страницы, указывающей на каталог?
  • Как работать с отсутствующими заголовками «последнего изменения»?
  • Linux и Unix - лучшая ОС в мире.