安装expect
sudo apt install expect
要执行的脚本
#!/bin/bash
# cpao.sh
ssh-keygen -f "/home/lyq/.ssh/known_hosts" -R "192.168.1.10"
scp sd.sh ao_app.elf brdc* root@192.168.1.10:/root
ssh root@192.168.1.10
交互输入脚本
#!/usr/bin/expect
# ca.tcl
set timeout 86400;
spawn ./cpao.sh
expect {
"yes/no*" {
send "yes\n";
exp_continue
}
"password*" {
send "analog\n";
exp_continue
}
"#*" {
send "./sd.sh\nls -l\n"
}
}
# 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。
# 如果没有这一句登录完成后会退出,而不是留在远程终端上。
interact