Obter saída do wget para uma variável

14

Como eu posso fazer isso? Estou tentando assim RESULT = `wget $ URL`

PS - Também existem fontes recomendadas para aprender scripts de shell?

Ashfame
fonte

Respostas:

22

E se:

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

Edit: Sim, isso funciona.

Oli
fonte
2
Por que outro traço depois -qO?
Ashfame 10/02
2
Odiz para ele emitir em algum lugar, -diz Opara emitir para o fluxo atual. E qdiz ao wget para não incluir nenhuma das informações "Conectando a xxx ...".
Oli
O que eu quis dizer foi que quando -qé a opção silenciosa e -Oé usado para dar o nome do arquivo onde queremos que a saída seja salva. Pelo que tenho lido, podemos escrever várias opções juntas, se todas elas não exigirem argumentos. Então -qOfaz sentido, mas o que o último traço faz?
Ashfame 10/02
1
É -Oargumento. Indica onde gravar a saída do download (neste caso: de volta ao fluxo atual).
Oli
24

A maneira preferida seria

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

(nome da variável em minúscula, em $()vez de ``e expansão citada da variável de resultado).

Para scripts de shell com bash e / ou POSIX sh, http://mywiki.wooledge.org/BashGuide é o guia para leitura. E há muito mais recursos úteis nesse wiki e em http://wiki.bash-hackers.org/ . Receio que a maioria dos outros recursos em scripts de shell sejam lixo, por isso é melhor ficar com esses dois.

Geirha
fonte
Obrigado pela sua contribuição! Você pode explicar um pouco o que há de errado com as aspas aqui?
Ashfame 11/02
@Ashfame Isto explica a razão principal de porque você deve sempre citar expansões: mywiki.wooledge.org/Arguments
geirha
Obrigado! Eu marquei os recursos. Eu vou aprender a partir daí. :)
Ashfame 12/02
Por que existem outros recursos no lixo de scripts de shell?
David Kennedy
@Koveras como devo saber? As pessoas provavelmente leem o guia do ABS e decidem compartilhar seus novos conhecimentos com o mundo com mais um tutorial de baixa qualidade.
Geirha 03/10/2015
0

no WGET (para WINDOWS BATCH), existe o seguinte:

OtherApplication -arg1 -arg2 > temp.txt
set /p MyVariable=<temp.txt
T.Todua
fonte