Объединение URL-адресов для утилиты загрузки (например, wget) в одну строку

A macdef , как и другие ( логин , пароль и т. Д.), применяется только к строфе с машинным -головым , в которой он находится. Насколько мне известно, размещение директивы macdef перед первой строфой machine не имеет никакого эффекта , и нет никакого способа получить макрос до выполнения команды open .

Ваш макрос будет работать, если вы сначала откроете соединение с сайтом:

$ ftp ftp.nyxdata.com
ftp> $download_nyse_index

Чтобы создать сценарий полного сеанса FTP, передайте ввод команде ftp .

ftp ftp.nyxdata.com <<EOF
cd /OpenBook/SymbolMapping
bin
get SymbolMap.xml /tmp/SymbolMap.xml
quit
EOF

Если вы делаете что-то настолько простое, используйте wget или curl. Если вы не хотите, чтобы пароль был в командной строке, вы можете ввести ~ / .netrc ; wget читает его по умолчанию, а curl читает его, если вы передаете параметр -n .

wget -O /tmp/SymbolMap.xml ftp://ftp.nyxdata.com/OpenBook/SymbolMapping/SymbolMap.xml
4
14.01.2018, 07:51
1 ответ

Поскольку wgetпринимает несколько URL-адресов одновременно, это можно сделать с помощью раскрытия скобок вbash:

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj.sh,nixta.sh}

(или даже

wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj,nixta}.sh

но это работает только для хорошо -подходящих имен, конечно ).

8
27.01.2020, 20:49

Теги

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