In einem Shell-Skript möchte ich eine Datei von einer URL herunterladen und in einem bestimmten Ordner speichern. Welche spezielle Option muss ich verwenden, um Dateien mit dem Befehl curl
in einen bestimmten Ordner herunterzuladen, oder wie bekomme ich diesen Effekt?Datei mit dem Befehl curl in einen bestimmten Ordner speichern
86
A
Antwort
143
Sie sind ein bisschen unspezifisch. Ich glaube nicht, dass man einen Weg zum Curl geben kann, aber man kann CD zum Ort, Download und CD zurück bringen.
cd target/path && { curl -O URL ; cd -; }
Dies wird nur heruntergeladen, wenn der Pfad existiert. Der Download speichert den Namen der entfernten Datei. Nach dem Download kehrt es zum ursprünglichen Speicherort zurück.
Wird Ihnen das helfen?
Wenn die komplexer war als Ihr Problem, können Sie einfach verwenden:
curl -o target/path/filename URL
Hinweis große O in erstem Beispiel und kleine o in der zweiten.
Ich habe diesen Befehl: curl -LOK 'Basisname/packages'" http://github.com/ziyaddin/xampp/archive/master.zip ". Aber es sagt, dass falscher Dateiname -> 'Basisname/packages' –
Sie können auch eine Subshell verwenden, so:' (cd Ziel/Pfad; curl -O URL) ' –
Was ist der Unterschied zwischen den beiden? Die erste CD ist in einem Verzeichnis und lädt die Datei herunter, dann cds raus. Die zweite bleibt im aktuellen Verzeichnis und lockt die Datei an einen bestimmten Ort. Der zweite scheint einfacher zu sein. –