expect实现非交互下的ssh连接, expect简单使用整理
1. shell中使用ssh远程连接服务器做一些事情通常需要交互输入些信息, 可使用expect语句解决:
2. expect中设置变量语法:
set name xxx
set age xxx # 使用set设置变量, name, age为变量名称, 后面是变量的值.
3. 变量的引用同shell, 使用$来引用
spawn ssh $name@$age
4. expect中的位置变量;
set ip [lindex $argv 0] # 等同于shell中的$1
set user [lindex $argv 1] # 等同于shell中的 $2这样的位置变量.
5. 实列如下,执行ssh远程连接命令:
执行远程拷贝命令:
6. shell中调用expect处理交互问题示例: