Guarde el archivo en una carpeta específica con el comando curl

Resuelto Ziyaddin Sadygly asked hace 11 años • 9 respuestas

En un script de shell, quiero descargar un archivo desde alguna URL y guardarlo en una carpeta específica. ¿Cuál es el indicador CLI específico que debo usar para descargar archivos a una carpeta específica con el curlcomando, o de qué otra manera obtengo ese resultado?

Ziyaddin Sadygly avatar May 03 '13 22:05 Ziyaddin Sadygly
Aceptado

No creo que puedas dar una ruta para curl, pero puedes CD a la ubicación, descargar y volver a CD.

cd target/path && { curl -O URL ; cd -; }

O usando subshell.

(cd target/path && curl -O URL)

Ambas formas solo se descargarán si la ruta existe. -Omantiene el nombre del archivo remoto. Después de la descarga, volverá a la ubicación original.

Si necesita establecer el nombre del archivo explícitamente, puede usar -ola opción pequeña:

curl -o target/path/filename URL
Atle avatar May 03 '2013 16:05 Atle

La --output-diropción está disponible desde curl 7.73.0 :

curl --create-dirs -O --output-dir /tmp/receipes https://example.com/pancakes.jpg
oderibas avatar Sep 11 '2020 08:09 oderibas

curlno tiene una opción para eso (sin especificar también el nombre del archivo), pero wgetla tiene. El directorio puede ser relativo o absoluto. Además, el directorio se creará automáticamente si no existe.

wget -P relative/dir "$url"

wget -P /absolute/dir "$url"
wisbucky avatar May 12 '2020 06:05 wisbucky

esto funciona para mi:

curl http://centos.mirror.constant.com/8-stream/isos/aarch64/CentOS-Stream-8-aarch64-20210916-boot.iso --output ~/Downloads/centos.iso 

dónde:

--outputme permite configurar la ruta y el nombre del archivo y la extensión del archivo que quiero colocar.

JFAA avatar Sep 27 '2021 15:09 JFAA

Utilice la redirección:

Esto funciona para colocar un curlarchivo descargado en una ruta especificada:

curl https://download.test.com/test.zip > /tmp/test.zip

Obviamente, " test.zip " es cualquier nombre arbitrario con el que desee etiquetar el archivo redirigido; podría ser el mismo nombre o uno diferente.

De hecho, prefiero la solución @oderibas, pero esto solucionará el problema hasta que su distribución admita curl versión 7.73.0 o posterior.

F1Linux avatar Apr 10 '2022 11:04 F1Linux