Но это работает только в новых версиях wget
, К сожалению у меня есть
старая версия wget
(GNU Wget 1.15 построен на darwin14.3.0) и
не могу обновить его. В частности, это wget
--show-progress
вариант, который не распознается.
На основании того, что я знаю о том, как curl
работает и как wget
работы, они могут показаться внешне одинаковыми, но нет эквивалента wget
рекурсивная функциональность в curl
, Чтобы сделать что-то подобное в curl
требует некоторого причудливого сценария Bash, чтобы обернуть вокруг curl
команда.
Поэтому, когда вы говорите, что не можете обновить wget
, что именно ты имеешь ввиду? поскольку wget
это инструмент GNU, он не устанавливается вместе с Darwin (который основан на BSD) и часто компилируется из исходного кода. Фактически предоставленные вами сведения о версии явно каким-то образом скомпилированы из исходного кода, поскольку версия «GNU Wget 1.15 построена на darwin14.3.0». Так что, если эта версия wget
был установлен что-то вроде Homebrew есть надежда, поскольку если в вашей системе установлен Homebrew, то в вашей системе также должен быть установлен Xcode и соответствующие инструменты / компиляторы командной строки.
Теперь, зная это, вы сможете собрать обновленную версию wget
- как 1.16.3 - из источника; минуя установленную Homebrew версию и просто выполняя ее из домашнего каталога. У вас нет root
/ sudo
доступ для этого; вот как вы можете это сделать.
составление wget
из источника.
Сначала возьмите сжатый архив от официального wget
исходный сайт:
curl -O http://ftp.gnu.org/gnu/wget/wget-1.16.3.tar.gz
Затем распакуйте архив следующим образом:
tar -xzf wget-1.*.tar.gz
Теперь перейдите в распакованный каталог:
cd wget-1.*
Запустить это configure
команда:
./configure --with-ssl=openssl
Если как то configure
Сбой команды, вам может понадобиться добавить --with-libssl-prefix
значение как это:
./configure --with-ssl=openssl --with-libssl-prefix=/usr/lib
Однажды configure
процесс завершен, запустите make
:
make
Если это работает чисто недавно скомпилированной версии wget
1.16.3 бинарный готов для использования.
Запуск только что скомпилированной версии wget
из вашего домашнего каталога.
Сейчас в большинстве инструкций сказано, что вы должны запустить sudo make install
получить wget
полностью установлен в системе. Но если у вас нет root
/ sudo
привилегии - или вы не хотите обновлять wget
версия, которая установлена для всей системы - вы все еще можете запустить wget
двоичный файл, который вы только что скомпилировали Во-первых, давайте вернемся из вашего wget
исходный каталог вроде этого:
cd ~/
Теперь просто запустите wget
1.16.3 двоичный файл, который вы просто скомпилировали явно, чтобы убедиться, что он работает:
~/wget-1.16.3/src/wget --version
Вывод должен быть примерно таким:
GNU Wget 1.16.3 built on darwin13.4.0.
+digest +https +ipv6 -iri +large-file -nls +ntlm +opie -psl +ssl/openssl
Wgetrc:
/usr/local/etc/wgetrc (system)
Compile:
gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/usr/local/etc/wgetrc"
-DLOCALEDIR="/usr/local/share/locale" -I. -I../lib -I../lib
-DNDEBUG
Link:
gcc -DNDEBUG -liconv -lssl -lcrypto -ldl -lz ftp-opie.o openssl.o
http-ntlm.o ../lib/libgnu.a
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Originally written by Hrvoje Niksic <hniksic@xemacs.org>.
Please send bug reports and questions to <bug-wget@gnu.org>.
Что означает, что вы сейчас в бизнесе!
Запуск вашего wget
Команда из вашего домашнего каталога.
Так что теперь вы можете запустить wget
Команда размещена в вашем вопросе так:
~/wget-1.16.3/src/wget -r --no-parent -nH -nd -q --show-progress --progress=bar:force ftp://ftp.ncdc.noaa.gov/pub/data/swdi/database-csv/v2/
И небольшая настройка - но стоит отметить, - это так много wget
варианты имеют полные имена и сокращенные сокращения. Так --no-parent
можно сократить до -np
чтобы команда выглядела так:
~/wget-1.16.3/src/wget -r -np -nH -nd -q --show-progress --progress=bar:force ftp://ftp.ncdc.noaa.gov/pub/data/swdi/database-csv/v2/
Очистка после использования.
И если вы хотите избавиться от wget
1.16.3 вещи, которые вы только что скомпилировали - поскольку вы говорите, что компьютер, на котором вы работаете, не ваш, - тогда просто удалите wget
исходные файлы, с которыми вы только что работали:
rm wget-1.16.3.tar.gz
rm -rf wget-1.16.3
wget
но с тех порwget
не входит в стандартную настройку ядра системы Mac OS X и должна выполняться самостоятельно, кто-то четко скомпилировал ее и установил там. Тем не менее, есть способ для вас, чтобы скомпилировать и запустить более новую версиюwget
без необходимости обновлятьwget
это уже установлено в вашей системе. Подробности в моем ответ опубликован ,