Zde je jeden přístup:
$ ftp -n <<EOF
open ftp.example.com
user user secret
put my-local-file.txt
EOF
Případně vytvořte (nebo upravte) soubor ~/.netrc v domovském adresáři uživatele, který bude spouštět příkaz ftp, a udělte mu příslušná oprávnění (chmod 0600 ~/.netrc
) a přidejte následující:
# ~/.netrc
machine ftp.example.com
login user
password secret
Poté vynechejte přihlašovací údaje, jako v:
$ echo put my-local-file.txt | ftp ftp.example.com
Také zde je návod, jak můžete udělat totéž pomocí curl:
$ curl -T my-local-file.txt ftp://ftp.example.com --user user:secret
Mohu doporučit ftp-upload
. Je to úhledný malý nástroj, který můžete nainstalovat pod ubuntu přes sudo apt-get install ftp-upload
.
Příklad použití:
ftp-upload -h {HOST} -u {USERNAME} --password {PASSWORD} -d {SERVER_DIRECTORY} {FILE_TO_UPLOAD}
Musíte opravit adresu URL uvedenou ve vašem prohlášení. Chyba se zobrazila, protože adresa URL byla neúplná – chyběl název objektu, který nahráváte. Jakmile přidáte název souboru za 'example.com', jak jsem to udělal níže, uvidíte, že jediný příkaz skutečně funguje tak, jak jste zamýšleli.
Zkuste toto:
ftp -u ftp://user:[email protected]/my-local-file.txt my-local-file.txt