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?

Respuestas:


22

Qué tal si:

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

Editar: Sí, eso funciona.


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.


¡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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.