我正在尝试设置一个连接到 ftp 站点的别名。
到目前为止(在 SO:] 的帮助下)我已经能够创建将连接的别名。
我尝试添加以分号开头的下一个命令,但是不起作用。
我正在寻找一种方法来做:
ftp -p domain.com
[wait until the server asks for username]
my_username
[wait until server asks for p/w]
password123
ETC...
这可以在一个别名中实现吗?如果可以,那么它叫什么,以便我可以学习如何做到这一点?
谢谢!
答案1
实际上,我认为一旦您连接,别名将无法为您提供帮助。登录后,您可以在命令行上执行更多操作,请查看 ftp 手册页,但我认为您可以使用选项指定您的用户名(-u
即ftp somesite.edu -u my_username
)。
一旦 ftp 开始提示您输入信息(例如您的密码),您就得自己处理了。
几年前,有一个名为“预计“可以用来编写此类交互式会话的脚本,但可能还有其他(更好的?)方法来做到这一点。
更新 1.. 在在线手册页中找不到该-u
选项... 我本可以发誓这是可用的。仍然像expect
应该能够提供帮助。
更新 2:你考虑过使用sftp
而不是?如果你设置正确,则无需提供密码,并且可以在命令行中指定用户,例如,
sftp [email protected]
此外,scp
还允许您将文件复制到其他站点或从其他站点复制文件,同样,如果之前设置正确,则不需要指定的用户名和密码。
答案2
你有没有尝试过:
alias doit='echo my_username > tmpfile ; echo password123 >> tmpfile ; ftp -p domain.com < tmpfile'