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?

Asfame
sumber

Jawaban:

22

Bagaimana tentang:

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

Sunting: Ya, itu berhasil.

Oli
sumber
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.

geirha
sumber
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
T.Todua
sumber