Dapatkan wget output ke variabel


14

Bagaimana saya bisa melakukannya? Saya mencobanya seperti ini HASIL = `wget $ URL`

PS - Juga ada sumber yang direkomendasikan untuk belajar scripting shell?

Jawaban:


22

Bagaimana tentang:

RESULT="`wget -qO- http://example.com`"
echo $RESULT

Sunting: Ya, itu berhasil.


2
Mengapa lari lagi setelahnya -qO?
Ashfame

2
Omemberitahu itu untuk menampilkan suatu tempat, -memberitahu Ountuk mengeluarkannya ke aliran saat ini. Dan qmemberitahu wget untuk tidak memasukkan informasi "Connecting to xxx ...".
Oli

Yang saya maksudkan adalah kapan -qsakelar diam & -Odigunakan untuk memberikan nama ke file di mana kita ingin output disimpan. Dari apa yang saya baca, kita bisa menulis beberapa switch bersama jika semuanya tidak memerlukan argumen. Jadi -qOmasuk akal tapi lalu apa yang dilakukan dasbor terakhir?
Ashfame

1
Itu -Oargumen. Ini memberitahukan di mana harus menulis output unduhan (dalam hal ini: kembali ke aliran saat ini).
Oli

24

Cara yang disukai adalah

result=$(wget -qO- http://example.com)
echo "$result"

(nama variabel huruf kecil, $()bukan ``dan kutip ekspansi dari variabel hasil).

Untuk skrip shell dengan bash dan / atau POSIX sh, http://mywiki.wooledge.org/BashGuide adalah panduan untuk membaca. Dan ada banyak sumber daya yang lebih bermanfaat di wiki itu, dan di http://wiki.bash-hackers.org/ . Saya khawatir sebagian besar sumber daya lain pada skrip shell adalah sampah, jadi yang terbaik adalah tetap menggunakan keduanya.


Terima kasih atas masukan Anda! Bisakah Anda jelaskan sedikit apa yang salah dengan penawaran di sini?
Ashfame

@Ashfame Ini menjelaskan alasan utama mengapa Anda harus selalu mengutip ekspansi: mywiki.wooledge.org/Arguments
geirha

Terima kasih! Saya telah menandai sumber daya. Saya akan belajar dari sana. :)
Ashfame

Mengapa sebagian besar sumber lain tentang sampah skrip shell?
David Kennedy

@Koveras bagaimana saya harus tahu? Orang-orang mungkin membaca panduan ABS dan kemudian memutuskan mereka akan membagikan pengetahuan baru mereka dengan dunia dengan tutorial jelek lainnya.
geirha

0

di WGET (untuk WINDOWS BATCH), ada yang seperti ini:

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.