[shell脚本]-在shell中定义expect function

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[shell脚本]-在shell中定义expect function相关的知识,希望对你有一定的参考价值。

概述

  1. 使用shell脚本加expect 实现批量登录,互信等,免交互式操作,之前主要写两个脚本,一个是expect脚本里面主要是接受参数,进行ssh 免交互操作,另一个是shell脚本,里面调用expect的脚本,传入参数,
  2. 现在需要把expect和shell脚本内容全部合并在shell脚本中 可以用shell function 里面定义expect

例子:

  1. shell 脚本中定义function, 然后把<< EOF 所有内容,当作expect 标准输入
#!/bin/bash
function expect_bash(){
/usr/bin/expect << EOF
spawn ssh -o StrictHostKeyChecking=no [email protected]${i} "hostname"
expect {
        "*password:" {exp_send "YNETserver1
"}
}
expect eof
EOF
}

for i in `cat ip`
do
    expect_bash
done

以上是关于[shell脚本]-在shell中定义expect function的主要内容,如果未能解决你的问题,请参考以下文章

shell项目-分发系统-expect

linux12shell编程 --> expect

如何在bash shell脚本中使用expect

Shell脚本之Expect免交互

shell expect的简单实用

shell脚本中 unary operator expected解决办法