expect 可以让一些需要交互的命令自动完成,如 ssh 连接的适合需要输入密码。
也就是说,某些重复的操作我们可以使用该命令完成,比如 ssh 连接到服务器,然后进到某个项目目录,进行 git 的更新操作。
需要安装的东西:expect、tcl
mac:brew install expect、berw install tcl
centos:yum -y install expect、yum -y install tcl
#!/usr/bin/expect spawn ssh root@xxx expect "*password:" send "xxx\r" interact
最后一行可以是下面两个:
expect eof :等待执行结束,若没有这一句,可能导致命令还没执行,脚本就结束了
interact : 执行完成后保持交互状态, 这时可以手动输入信息