Получить вывод wget в переменную


14

Как мне это сделать? Я пытаюсь сделать это как RESULT = `wget $ URL`

PS - Также какие-либо рекомендуемые источники для изучения сценариев оболочки?

Ответы:


22

Как насчет:

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

Редактировать: Да, это работает.


2
Почему еще один тире после -qO?
Ashfame

2
Oговорит ему, чтобы вывести куда-нибудь, -говорит, Oчтобы вывести его в текущий поток. И qговорит wget не включать какую-либо информацию о «подключении к xxx ...».
Оли

Я имел в виду, что когда -qтихий переключатель & -Oиспользуется для присвоения имени файлу, в который мы хотим сохранить вывод. Из того, что я читал, мы можем написать несколько ключей вместе, если все они не требуют аргументов. Так -qOимеет смысл, но тогда что делает последний штрих?
Ashfame

1
Это -Oаргумент. Он сообщает, куда записать вывод загрузки (в данном случае: обратно в текущий поток).
Оли

24

Предпочтительным способом будет

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

(строчные буквы имени переменного, $()вместо того , чтобы ``и цитировал расширение переменного результата).

Для сценариев оболочки с bash и / или POSIX sh http://mywiki.wooledge.org/BashGuide - это руководство для чтения. И на этой вики, и на http://wiki.bash-hackers.org/ есть еще много полезных ресурсов . Боюсь, что большинство других ресурсов по написанию сценариев оболочки являются мусором, поэтому лучше придерживаться этих двух.


Спасибо за ваш вклад! Можете ли вы объяснить это немного, что не так с кавычками здесь?
Ashfame

@Ashfame Это объясняет основную причину того, почему вы всегда должны цитировать расширения: mywiki.wooledge.org/Arguments
geirha

Благодарность! Я отметил ресурсы. Я буду учиться оттуда. :)
Ashfame

Почему большинство других ресурсов по сборке сценариев оболочки является мусором?
Big McLargeHuge

@Коверас, откуда мне знать? Люди, вероятно, читают руководство по АБС, а затем решают, что поделятся своими новыми знаниями со всем миром с помощью еще одного дурацкого учебника.
Гейра

0

в WGET (для WINDOWS BATCH) это выглядит так:

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.