C/C++教程

七、shell编程-expect

本文主要是介绍七、shell编程-expect,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.expect

  前言

    观察ssh登录的交互现象,有些程序难以避免的需要交互。如何解决脚本与程序的交互问题。

    

 

     expert就是专门解决脚本和程序之间的交互问题

 

  语法

    

    spawn  expect的内部命令,启动一个shell程序

    expect  期望哪些内容

    yes/no  就send发送yes。\r表示回车

    password  就send发送centos

    exp_continue  跳过循环,继续下一条语句

    interact  允许用户交互(实际不一定用上这个)

 

 

  安装

    yum install -y expect tcl tclx tcl-devel 

 

 

 

2.示例1

  通过expect解决ssh交互问题

  通过expect编写脚本

  

 

  试用,不能使用bash,因为是用expect语言写的

  

 

  试用,成功

  

 

 

 

3.实战2

  公钥推送

  准备工作:安装expect,准备公钥

  通过shell循环判断在线主机

  通过expect进行交互

  优化脚本

  

  把ping和expect结合

  

 

  两种方法

  ①/usr/bin/expect /root/ssh.exp  这要是叫bash执行到这里后用/usr/bin/expect打开ssh.exp文件继续执行

  ②/usr/bin/expect <<-EOF

  内容

  EOF  这是等于把内容以文档的形式让/usr/bin/expect执行

  一般都用第一种,因为这样美观且不易混淆

 

  

 

这篇关于七、shell编程-expect的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!