1、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。
expect模式的远程登录主机!
Expect是UNIX系统中用来实现自动化控制和测试的软件工具,expect 是由Don Libes基于 Tcl( Tool Command Language )语言开发的,作为Tcl脚本语言的一个扩展应用在交互式软件中,如Telnet、FTP、SSH等,与shell语言结合一起用!CentOS8默认没有安装expect和mkpasswd ,得提前安装!
spawn 启动新的进程
send 用于向进程发送字符串
#!/usr/bin/expect
这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。注意:这一行需要在脚本的第一行。
spawn主要监控ssh 10.0.0.7这条命令的执行!
"yes/no" { send "yes\n";exp_continue } 当检查到有yes/no时,send会向进程发送"yes\n"这个字符串,\n等价与enter键!
使用exp_continue后,会重新从当前expect块的开始重新执行,可以简单理解问while循环的continue!
interact
执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。
Shell模式的主机登录模式!
接下来编一个结合expect