Hier ist ein Ansatz:
$ ftp -n <<EOF
open ftp.example.com
user user secret
put my-local-file.txt
EOF
Erstellen (oder bearbeiten) Sie alternativ die Datei ~/.netrc im Home-Verzeichnis des Benutzers, der den FTP-Befehl ausführt, und geben Sie ihr die entsprechenden Berechtigungen (chmod 0600 ~/.netrc
), und fügen Sie Folgendes hinzu:
# ~/.netrc
machine ftp.example.com
login user
password secret
Lassen Sie dann die Anmeldeinformationen weg, wie in:
$ echo put my-local-file.txt | ftp ftp.example.com
Hier ist auch, wie Sie dasselbe mit curl machen könnten:
$ curl -T my-local-file.txt ftp://ftp.example.com --user user:secret
Ich kann ftp-upload
empfehlen . Es ist ein hübsches kleines Tool, das Sie unter Ubuntu über sudo apt-get install ftp-upload
installieren können .
Anwendungsbeispiel:
ftp-upload -h {HOST} -u {USERNAME} --password {PASSWORD} -d {SERVER_DIRECTORY} {FILE_TO_UPLOAD}
Sie müssen die in Ihrer Erklärung angegebene URL korrigieren. Sie haben den Fehler erhalten, weil die URL unvollständig war – es fehlte der Name des Objekts, das Sie hochladen. Sobald Sie den Dateinamen nach „example.com“ hinzufügen, wie ich es unten getan habe, werden Sie sehen, dass der einzelne Befehl tatsächlich so funktioniert, wie Sie es beabsichtigt haben.
Versuchen Sie Folgendes:
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt