Ecco un approccio:
$ ftp -n <<EOF
open ftp.example.com
user user secret
put my-local-file.txt
EOF
In alternativa, crea (o modifica) il file ~/.netrc nella directory home dell'utente che eseguirà il comando ftp, assegnagli i permessi appropriati (chmod 0600 ~/.netrc
) e aggiungi quanto segue:
# ~/.netrc
machine ftp.example.com
login user
password secret
Quindi ometti le informazioni di accesso, come in:
$ echo put my-local-file.txt | ftp ftp.example.com
Inoltre, ecco come potresti fare la stessa cosa usando curl:
$ curl -T my-local-file.txt ftp://ftp.example.com --user user:secret
Posso consigliare ftp-upload
. È un piccolo strumento carino che puoi installare sotto Ubuntu tramite sudo apt-get install ftp-upload
.
Esempio di utilizzo:
ftp-upload -h {HOST} -u {USERNAME} --password {PASSWORD} -d {SERVER_DIRECTORY} {FILE_TO_UPLOAD}
Devi correggere l'URL fornito nella tua dichiarazione. Hai ricevuto l'errore perché l'URL era incompleto:mancava il nome dell'oggetto che stai caricando. Dopo aver aggiunto il nome del file dopo "example.com" come ho fatto di seguito, vedrai che il singolo comando funziona davvero come previsto.
Prova questo:
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt