Obtener salida de wget a una variable

14

¿Cómo puedo hacerlo? Lo estoy intentando así RESULT = `wget $ URL`

PD: ¿también alguna fuente recomendada para aprender scripts de shell?

Ashfame
fuente

Respuestas:

22

Qué tal si:

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

Editar: Sí, eso funciona.

Oli
fuente
2
¿Por qué otra carrera después -qO?
Ashfame
2
Ole dice que salga en alguna parte, -le dice Oque lo envíe a la corriente actual. Y qle dice a wget que no incluya ninguna de su información "Conectando a xxx ...".
Oli
Lo que quise decir es que cuándo -qes el interruptor silencioso y -Ose usa para dar el nombre al archivo donde queremos que se guarde la salida. Por lo que he estado leyendo, podemos escribir múltiples interruptores juntos si todos ellos no requieren argumentos. Entonces -qOtiene sentido, pero ¿qué hace el último guión?
Ashfame
1
Es el -Oargumento. Le dice dónde escribir la salida de la descarga (en este caso: volver a la secuencia actual).
Oli
24

La forma preferida sería

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

(nombre de la variable en minúscula, en $()lugar de una ``expansión entre comillas y de la variable resultante)

Para scripts de shell con bash y / o POSIX sh, http://mywiki.wooledge.org/BashGuide es la guía para leer. Y hay muchos más recursos útiles en esa wiki y en http://wiki.bash-hackers.org/ . Me temo que la mayoría de los otros recursos en scripts de shell son basura, por lo que es mejor quedarse con esos dos.

geirha
fuente
¡Gracias por tu contribución! ¿Puedes explicarme un poco qué hay de malo en las citas aquí?
Ashfame
@Ashfame Esto explica la razón principal por la que siempre debes citar las expansiones: mywiki.wooledge.org/Arguments
geirha
¡Gracias! He marcado los recursos. Aprenderé de allí. :)
Ashfame
¿Por qué la mayoría de los otros recursos en shell scripting son basura?
Big McLargeHuge
@Koveras, ¿cómo debería saberlo? Las personas probablemente lean la guía de ABS y luego decidan que compartirán sus conocimientos recién descubiertos con el mundo con otro tutorial horrible.
geirha
0

en WGET (para WINDOWS BATCH), es así:

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