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

14

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

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

Ashfame
источник

Ответы:

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/ есть еще много полезных ресурсов . Боюсь, что большинство других ресурсов по написанию сценариев оболочки являются мусором, поэтому лучше придерживаться этих двух.

geirha
источник
Спасибо за ваш вклад! Можете ли вы объяснить это немного, что не так с кавычками здесь?
Ashfame
@Ashfame Это объясняет основную причину того, почему вы всегда должны цитировать расширения: mywiki.wooledge.org/Arguments
geirha
Благодарность! Я отметил ресурсы. Я буду учиться оттуда. :)
Ashfame
Почему большинство других ресурсов по сборке сценариев оболочки является мусором?
Big McLargeHuge
@Коверас, откуда мне знать? Люди, вероятно, читают руководство по АБС, а затем решают, что поделятся своими новыми знаниями со всем миром с помощью еще одного дурацкого учебника.
Гейра
0

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

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
T.Todua
источник