我正在使用期望登录远程机器。但我真的不知道这是什么期望。通过谷歌搜索,我了解这些命令。如何保存这些脚本&怎么执行呢?
spawn telnet 10.123.9.111
expect login {send username\r}
expect password {send password\r}
这是对的吗?建议改进这个脚本最受欢迎。谢谢。
答案 0 :(得分:1)
将其保存到文件telnet.exp
:
#!/usr/bin/expect -f
spawn telnet 10.123.9.111
expect login {send username\r}
expect password {send password\r}
interact ;# I assume you want to do something on the remote machine here
使其可执行:chmod 700 telnet.exp
- 您希望使用限制性权限,因为您将密码存储在纯文本文件中并不是一个好主意(您应该使用带密钥的ssh,除非设备无法运行ssh)
运行它:./telnet.exp
如果您希望能够将变量传递给脚本:
#!/usr/bin/expect -f
lassign $argv ip user passwd
spawn telnet $ip
expect login {send $user\r}
expect password {send $passwd\r}
interact ;# I assume you want to do something on the remote machine here
运行它:./telnet.exp 10.123.9.111 username secret
这也很糟糕,因为现在密码会显示在ps
列表中。