设置等待下一个提示输入命令的别名

设置等待下一个提示输入命令的别名

我正在尝试设置一个连接到 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 手册页,但我认为您可以使用选项指定您的用户名(-uftp 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'

相关内容