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

ftp не кажется мне соответствующим инструментом, чтобы сделать это с. Я попробовал бы lftp вместо этого. Поскольку у Вас есть он, написал сценарий строки:

    nmap N*.TXT N_`date "+%H%M%N"`.TXT

Доберитесь оценил однажды и затем расширился до текущей даты, с тех пор это только будет используемым в качестве расширенной формы. То, что Вы хотите сделать, заставляют удаленную сторону делать это расширение для Вас, которые я не полагаю, что можно сделать с регулярным ftp.

Что-то вроде этого "могло" бы работать через lftp:

$ lftp -u user,password IP <

У меня нет доступа к FTP-серверу в настоящее время, таким образом, я не могу протестировать это. Если это работает затем, Вы можете изменять его так, чтобы date команда работает на удаленном сервере.

Ссылки

3
02.11.2015, 06:10
3 ответа

Как насчет этого? Меньше кавычек, скобок, скобок и прочего синтаксиса!:

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

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

0
27.01.2020, 21:12

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

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

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

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

6
27.01.2020, 21:12

Я сам нашел ответ, просмотрев переменные массива в Руководстве для начинающих по 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
1
27.01.2020, 21:12

Теги

Похожие вопросы