linux的expect脚本如何结束

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的expect脚本如何结束相关的知识,希望对你有一定的参考价值。

运行expect脚本后,后台进程一直存在,有没有类似java的return这样结束的方法,不想再脚本最后写杀进程的命令

参考技术A 用 exit 命令追问

#!/usr/local/bin/expect
spawn /bin/su - etl
expect "Password:"
send "etl\r"
send "rm 1\r"
interact
expect eof
exit
这是我写的脚本,运行结束后,1文件也删了,但后台的shell进程一直存在

追答

为什么要用interact?感觉没必要
interact执行之后就会保持交互状态,此时exit,就会连同expect结束
如果没这句,expect就能执行完了,后面的exit没必要

本回答被提问者采纳

Expect实现批量主机公钥推送

技术分享图片
创建脚本文件
技术分享图片
推送公钥,ping通一个,推送一个
怎么去请帮忙的人?(小工)注意不要按任何一个空格,要使用tab键
尽量使用变量,不要用字符串.
技术分享图片
技术分享图片
技术分享图片
如何查看特殊字符(隐形字符)
技术分享图片
只要公钥推送结束,expect就不需要了
技术分享图片
可能会有以下情况:

  1. expect没有装,可以编写以下脚本
    技术分享图片
  2. 没有公钥,如何判断
    脚本检查
    技术分享图片
    手动检查
    技术分享图片
    ssh-keygen//自带光环,不需要使用expect
    技术分享图片
    使用脚本批量启动kvm虚拟机
    技术分享图片

以上是关于linux的expect脚本如何结束的主要内容,如果未能解决你的问题,请参考以下文章

expect脚本在Linux下是如何使用的

Expect实现批量主机公钥推送

Linux操作系统中expect如何使用?

Linux-expect脚本-编写一个expect脚本

Linux - 通过expect工具实现脚本的自动交互

Linux系统shell脚本之Expect实现SSH免交互执行命令