expect脚本自动化地执行linux环境下的命令行交互任务

news/2026/1/22 11:44:42/文章来源:https://www.cnblogs.com/aerfazhe/p/19515985

expect命令安装

  • Ubuntu/Debian系统:sudo apt-get install expect
  • Redhat/Centos系统:sudo yum install expect -y 

expect脚本使用

expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了。

此处以scp交互命令的脚本示例:

#!/usr/bin/expect  
set timeout 10
# 获取日期与shell脚本获取方式不同
set DAY_Y [exec date +%Y%m%d]
set host [lindex $argv 0]  
set username [lindex $argv 1]  
set password [lindex $argv 2]  
set src_file [lindex $argv 3]  
set dest_file [lindex $argv 4]  
spawn scp $src_file $username@$host:$dest_file  expect {  "(yes/no)?"  {  send "yes\n"  expect "*assword:" { send "$password\n"}  }  "*assword:"  {  send "$password\n"  }  
}  
expect "100%"  
expect eof

代码刚开始的第一行,指定了expect的路径,与shell脚本相同,这一句指定了程序在执行时到哪里去寻找相应的启动程序。代码刚开始还设定了timeout的时间为10秒,如果在执行scp任务时遇到了代码中没有指定的异常,则在等待10秒后该脚本的执行会自动终止。

    从以上代码刚开始的几行可以看出,我为这个脚本设置了5个需要手动输入的参数,分别为:目标主机的IP、用户名、密码、本地文件路径、目标主机中的文件路径。如果将以上脚本保存为expect_scp文件,则在shell下执行时需要按以下的规范来输入命令:

./expect_scp 192.168.10.21 root 123456 /root/src_file /root/dest_file 

以上的命令执行后,将把本地/root目录下的src_file文件拷贝到用户名为root,密码为123456的主机192.168.10.21中的/root下,同时还将这个源文件重命名为dest_file。

    spawn代表在本地终端执行的语句,在该语句开始执行后,expect开始捕获终端的输出信息,然后做出对应的操作。expect代码中的捕获的(yes/no)内容用于完成第一次访问目标主机时保存密钥的操作。有了这一句,scp的任务减少了中断的情况。代码结尾的expect eof与spawn对应,表示捕获终端输出信息的终止。

    使用expect需要了解的一点是:用expect速度会比较慢,因为需要等待返回的数据,然后输入命令执行,没有ssh密钥登录的快速。

    安全性和速度上考虑建立信任关系都是最佳的方法,至于在具体的环境中选择什么根据实际情况来选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1199857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

收藏!2026招聘市场回暖,AI岗位供需反转下程序员的破局指南

脉脉高聘人才智库发布的《2025年度人才迁徙报告》明确指出,自2025年6月起,新经济行业新发岗位量正式实现对去年同期的反超,沉寂许久的招聘市场迎来实质性回暖。而在这波复苏浪潮中,AI领域的表现堪称“顶流”,成为拉动岗…

2026链板提升机市场盘点:哪些企业值得信赖,密封输送机/大倾角输送机/全封闭输送机/上料提升机,提升机实力厂家联系电话

在工业生产自动化升级浪潮中,链板提升机作为垂直输送的核心设备,直接影响着生产线效率与安全。尤其在食品加工、玻璃制造等高精度行业,其稳定性、耐腐蚀性及定制化能力成为企业采购的关键考量。据国内机械行业协会发…

收藏备用|Java程序员转型AI大模型指南:从入门到实战

在技术迭代日新月异的当下,人工智能(AI)领域的**大模型(Large Language Models, LLMs)**正以颠覆性态势渗透各行各业。从日常的自然语言交互、智能图像生成,到企业级的智能客服搭建、代码自动辅助开发&…

8.5 进阶实战:Thanos 高可用架构与多租户监控方案落地

8.5 进阶实战:Thanos 高可用架构与多租户监控方案落地 1. 引言:Prometheus 的局限性 Prometheus 虽然强大,但在生产环境中会遇到两个致命问题: 存储限制:Prometheus 默认只保留 15 天的数据。对于需要长期分析(如月度报表、容量规划)的场景,数据不够用。 高可用问题:…

告别选择困扰!为您推荐国内符合国标的高低温拉力试验机实力厂家!

一、产品核心作用与行业发展趋势高低温拉力试验机作为材料力学性能测试的关键设备,通过模拟极端温度环境(-70℃至+300℃),精准评估材料在拉伸、压缩、弯曲等工况下的抗拉强度、断裂伸长率及弹性模量等参数。其应用…

8.4 告警策略:Alertmanager 配置指南与告警降噪最佳实践

8.4 告警策略:Alertmanager 配置指南与告警降噪最佳实践 1. 引言:告警疲劳的噩梦 很多公司的告警系统是这样的: 每天收到 1000+ 条告警 90% 是无效告警(误报、重复、低优先级) 真正重要的告警被淹没 运维人员对告警麻木,选择性忽略 这就是告警疲劳(Alert Fatigue)。它…

深聊包饺子要放什么调料更香,鸿禄食品调味品选哪家好?

在家庭烹饪场景中,饺子作为传统美食的代表,其馅料的风味直接决定了饺子的口感与美味程度。而选择合适的调料,正是让饺子馅料香而不腻、鲜而不寡的关键。面对市场上琳琅满目的调味品,如何挑选健康又美味的产品?以下…

【2026】 LLM 大模型系统学习指南 (15)

深度学习综合实战 —— 深层神经网络优化与复杂场景应用作业五作为深度学习模块的阶段性综合任务,核心是 “巩固 进阶”:在掌握反向传播原理和单隐藏层神经网络的基础上,聚焦深层网络搭建、超参数调优、过拟合解决三大核心能力,通…

强烈安利MBA必用TOP8一键生成论文工具

强烈安利MBA必用TOP8一键生成论文工具 2026年MBA论文写作工具测评:为何需要这份榜单? MBA学习过程中,论文撰写是一项核心任务,但往往面临时间紧张、资料繁杂、格式要求严格等挑战。面对这些痛点,越来越多的MBA学生开始…

8.6 统一标准:OpenTelemetry 核心概念与全链路追踪实现

8.6 统一标准:OpenTelemetry 核心概念与全链路追踪实现 1. 引言:追踪系统的“巴别塔” 在微服务架构中,一个用户请求可能经过 10+ 个服务。当请求变慢时,如何定位瓶颈? 分布式追踪(Distributed Tracing) 应运而生。它记录请求在服务间的完整调用路径,就像给请求贴上…

5G PDSCH(物理下行共享信道)吞吐量MATLAB仿真方案

仿真方案概述 本仿真将实现以下完整流程: 传输端:TB → 信道编码 → 调制 → 层映射 → 预编码 → OFDM资源映射 → IFFT → 加CP 信道:通过衰落信道(TDL/CDL) → 加AWGN噪声 接收端:去CP → FFT → 信道估计与均…

2026年低楼层微通风系统窗定制源头厂家排名,阜积铝业表现亮眼

2026年家居消费升级浪潮下,低楼层住户对通风与安全兼顾的门窗需求持续攀升,微通风系统窗凭借关窗通风的核心优势成为市场新宠。无论是低楼层微通风系统窗的定制需求,还是源头厂家的型材供应与成品交付,优质服务商的…

2026高密度硅酸钙板市场,优质企业排行一览,硅酸钙保温管/高密度硅酸钙异形件,高密度硅酸钙板企业推荐

行业现状与高密度硅酸钙板核心优势 随着工业制造、建筑装饰及新能源领域对材料性能要求的持续提升,高密度硅酸钙板凭借其耐高温、抗腐蚀、高强度及环保特性,成为市场关注的焦点。其密度范围(800-1100kg/m)、耐温性…

2026年1月四川有机肥/农家肥/有机肥料/生物有机肥/农资肥料优质厂家哪家好

一、有机肥料引言 1.1 行业核心痛点 2026年,随着“十四五”农业农村现代化规划深入推进,四川作为农业大省,绿色农业转型进入攻坚阶段,有机肥料成为连接农业废弃物资源化利用与土壤质量提升的关键载体,市场需求持续…

9.1 永不宕机三板斧:探针、资源配额与弹性伸缩的协同作战

9.1 永不宕机三板斧:探针、资源配额与弹性伸缩的协同作战 1. 引言:高可用的三个维度 在云原生环境中,实现“永不宕机”需要三个维度的协同: 探针(Probes):快速检测故障,触发自愈 资源配额(Resource Quotas):防止资源耗尽,保证稳定性 弹性伸缩(Autoscaling):根…

收藏!大模型赛道全指南:就业竞争力打造+保研路径规划(2026小白必看)

人工智能技术迭代浪潮下,大模型已成为科技领域的核心竞技场,其就业前景与深造价值持续攀升,成为无数程序员、技术小白及高校学子的聚焦方向。一方面,凭借突破性的技术赋能能力,大模型人才成为全球科技巨头、AI独角兽企…

深度收藏:从大厂JD看AI Agent开发学习路线,从小白到大厂必备技能

文章分析了大厂AI Agent开发岗位要求,强调AI Agent开发与后端开发不是对立而是融合。作者提出完整学习路线:先掌握后端基础,再学习AI知识,最后通过实践项目深化。AI Agent开发是未来趋势,80%工程化岗位将要求AI开发能力…

靠谱的加氢反应器如何选择?雍达为你支招

2026年工业制造业智能化转型加速,专业化工装备的性能与安全性已成为企业生产效率、安全生产及成本控制的核心变量。无论是精细化工领域的连续化反应需求、石油化工的高危加氢工艺场景,还是食品医药行业的卫生级混合要…

2026年辽宁裁断机生产厂家排行榜,前十强都有谁?

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆企业,为企业选型提供客观依据,助力精准匹配适配的裁断机供应伙伴。 TOP1 推荐:泰州未来机械 推荐指数:★★★★★ | 口碑评分:国内诚信可靠的裁断机大…

2026口碑好的关务咨询机构有哪些?行业精选推荐

随着全球贸易的深化,企业进出口业务面临的海关政策、商品归类、合规申报等关务问题日益复杂,选择一家口碑良好的关务咨询机构成为保障业务顺畅运行的关键。这类机构不仅需要具备深厚的海关事务专业知识,熟悉各口岸通…