如何在我的用户名中使用带有@符号的linux命令行ftp?

ben*_*ord 24 linux ftp

当我的用户名@在中间有一个标志时,如何在linux命令行上运行它?

ftp -u user:password@host/destination_folder/ sourcefile.txt
Run Code Online (Sandbox Code Playgroud)

我的用户名是info@domain.com,它认为我的主机是domain.com.

注意:这是无人值守的上传,因此我不能只输入用户名和密码.

小智 25

试试这个:使用"%40"代替"@"


pts*_*pts 22

作为替代方案,如果您不想创建配置文件,请执行无人参与的上载,curl而不是ftp:

curl -u user:password -T file ftp://server/dir/file
Run Code Online (Sandbox Code Playgroud)

  • -1不是因为它是错的,但它没有帮助他解决他的问题 - 只是提供了另一种选择.如果用他想要的东西做他想做的事并不是不可能的,他为什么要改变这个工具呢? (10认同)

mar*_*cog 12

尝试在这样的~/.netrc文件中定义帐户:

machine host login info@domain.com password mypassword
Run Code Online (Sandbox Code Playgroud)

检查man netrc细节.


小智 6

我只是输入ftp hostdomain.com,下一个提示要求我输入一个名称,如果它与我当前的用户不一样.

我想这取决于你的FTP配置方式.也就是说,它是否采用相同的用户名(如果没有提供)或要求.好消息是,即使没有解决方案,下次你面对这个问题时,它也可能是Just Work™:D