แต่ใช้งานได้ในเวอร์ชันที่ใหม่กว่าเท่านั้น wget
. น่าเสียดายที่ฉันมี
รุ่นเก่ากว่าของ wget
(GNU Wget 1.15 สร้างเมื่อวันที่ darwin14.3.0) และ
ไม่สามารถอัปเกรดได้ โดยเฉพาะมันคือ wget
--show-progress
ตัวเลือกที่ไม่รู้จัก
ขึ้นอยู่กับสิ่งที่ฉันรู้เกี่ยวกับวิธีการ curl
ทำงานและอย่างไร wget
การทำงานพวกเขาอาจดูเหมือนผิวเผิน แต่ไม่มีอะไรเทียบเท่า wget
ฟังก์ชันการเรียกซ้ำใน curl
. ที่จะทำอะไรแบบนั้นค่ะ curl
ต้องใช้สคริปต์ Bash แฟนซีเพื่อล้อมรอบ curl
คำสั่ง
ดังนั้นเมื่อคุณบอกว่าคุณไม่สามารถอัปเกรดได้ wget
คุณหมายถึงอะไรกันแน่ ตั้งแต่ wget
เป็นเครื่องมือ GNU ซึ่งไม่ได้ติดตั้งกับดาร์วิน (ซึ่งใช้ 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
ที่ติดตั้งไว้แล้วในระบบของคุณ รายละเอียดในของฉัน โพสต์คำตอบ .