Aqui está uma abordagem:
$ ftp -n <<EOF
open ftp.example.com
user user secret
put my-local-file.txt
EOF
Como alternativa, crie (ou edite) o arquivo ~ / .netrc no diretório home do usuário que irá executar o comando ftp, dê-lhe permissões permanentes ( chmod 0600 ~/.netrc
) e adicione o seguinte:
# ~/.netrc
machine ftp.example.com
login user
password secret
Em seguida, omita as informações de login, como em:
$ echo put my-local-file.txt | ftp ftp.example.com
Além disso, veja como você pode fazer a mesma coisa usando o curl:
$ curl -T my-local-file.txt ftp://ftp.example.com --user user:secret