免交互(粗糙版)

news2024/11/26 15:44:26

免交互:

交互是:计算机播放器,需要放视频,我发出指令,计算机执行指令,做出相应的动作。比如说播放视频音频的动作

Linux系统中的交互是,例如:passwd

尤其在shell脚本中,我们的运行就是免交互,自动化运维

免交互有两种方式:

here Document 免交互

expect语法实现免交互

here Document 免交互

语法格式:

命令 << 标记(可以自定义)

内容

标记

例如:

wc -l <<ky01

123

ky01

1.标记名称可以自定义,但是必须要是合法字符(字母开头,后面跟数字,不要用特殊符合)

2.结尾标记一定要顶格写,前面不能有任何字符,包括空格

3.结尾的标记后面也不能有任何字符,包括空格

4.开头标记前面如果有空格,会被省略

echo方法:实现查看和重定向输出到指定的文件

cat方法:实现查看和重定向输出到指定的文件

更改密码方法:

cat重定向追加:

tee方法:重定向输出

字符变量重定向

整行字符变量重定向

关闭变量功能

忽略tab键但是不会忽略空格键:

expect:建立在tcl语言基础上的一个工具,用于自动化控制和测试,主要用来解决shell当中的交互问题

PS:此命令需要安装:yum -y install expect

passwd

123

123

转义字符:

1.\n表示换行符

2.\t表示制表符和tab差不多

3.\r表示回车,可以和\n通用

4.\b表示退格符,相当于backspace

第一步:必须要声明

用此方法必须用以下声明

而且使用此脚本方法

必须要赋权执行

chmod 777 文本

第二步:

开启跟踪执行的命令:

spawn开启一个回话和启动进程,并且跟踪后续的交互信息

例如:spawn passwd lmn

第三步:

捕获动作

expect捕获想要的内容,匹配输入字段。然后输入内容

第四步:

发送指令

send 向进程发送字符串,模拟用户的输入send不能自动换行,一般后面要跟上\r或\n

格式:

expect “新的密码:” {send"123\r"}

如果命令写在一行必须要加花括号

方式二:

expect “新的密码:”

send"123\r"

多分支:

expect

{

“密码1”{send "123\r"}

“密码2”{send "123\r"}

}

第五步:

定义结束符:

第一种:expect eof:表示交互结束之后,会退回到原用户

第二种:interact:表示执行完成之后,保持现有状态不变

结束符只能二选一,不能同时存在

参数设置:

set 设置命令

set timeout 5

设置脚本的超时时间5秒

因为脚本默认是10秒

exp_continue

相当于在expect捕获判断之后,还能够继续向下匹配

类似于continue。表示允许expect继续向下执行指令

此次需要填写内容

以下内容全部更改。暂时不想写了

打印功能:回显命令

此处需要填写内容

接受参数:

可以接受从bash的命令行传入的参数,类似与位置变量的格式

此次需要填写内容

执行方式:

不能用bash sh source 都不能执行expect脚本,必须赋权之后用./或者绝对路径执行

实验:su切换用户,用传参的方式写:

嵌入执行模式:

将expect的过程融入shell当中,一起执行

#!/bin/bash

在中间免交互的过程

/usr/bin/expect <<-EOF

ssh免交互登录脚本

用传参的方式写,判断

No route to host

这种输出是IP地址有误

Connection refused

这种输出是连接拒绝

正常情况就传参就行

答案:

实验:免交互实现硬盘分区和创建文件系统和挂载

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

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

相关文章

华为荣耀软开秋招面经问题整理

一、八股 1.linux常用命令 Linux常用命令&#xff08;面试题&#xff09;_linux常用命令面试题-CSDN博客 常用命令、系统命令、打包命令、vim、开关机命令 2.socket通信调用api过程 TCP UDP 二、算法 1.LeetCode——240 搜索二维矩阵II-CSDN博客 2.最长递增子序列的三种…

spring-clound基础开发

一、使用openfeig调用远程另外一个服务接口 1、创建一个spring boot工程,并且创建2个模块来当微服务模块 2、分别配置2个模块的启动文件 3、分别两个模块下创建一个测试的控制器 4、在项目的根目录的pom.xml中添加spring-cloud配置 <properties><java.version>1…

2023-11-7 OpenAI 45 分钟发布会:整理发布了哪些内容更新

本心、输入输出、结果 文章目录 2023-11-7 OpenAI 45 分钟发布会&#xff1a;整理发布了哪些内容更新前言发布 GPT-4 Turbo价格问题 推出 OpenAI 推出了「GPTs」六大升级上下文长度升级API 和函数调用控制手段增强模型内部和外部知识库的升级多模态模型微调与定制更高的使用频率…

Linux shell编程学习笔记22: () $() (()) 的用法小结

最近学习Linux Shell编程&#xff0c;对 () (()) [] [[]]等符号的用法还是有点分不太清楚&#xff0c;于是决定再梳理一下。今天先整理 () $() (()) 的用法。 1 单小括号() 1.1 子shell&#xff08;命令组&#xff09; 括号中的命令将会新开一个子shell顺序执行&#xff0c;所…

Web逆向-mtgsig1.2简单分析

{"a1": "1.2", # 加密版本"a2": new Date().valueOf() - serverTimeDiff, # 加密过程中用到的时间戳. 这次服主变坏了, 时间戳需要减去一个 serverTimeDiff(见a3) ! "a3": "这是把xxx信息加密后提交给服务器, 服主…

马斯克:让我成功的其实是“第一性原理”(PM必读)

大家好&#xff0c;我是老原。 关注我比较久的老粉都知道&#xff0c;我是从产品经理转到项目经理&#xff0c;然后才到现在的PMO。 在做产品的时&#xff0c;关注点在于如何把产品做好&#xff0c;在接触到项目后&#xff0c;更多的是去关注如何把项目做好&#xff0c;也是出…

服务号怎么改成订阅号

服务号和订阅号有什么区别&#xff1f;服务号转为订阅号有哪些作用&#xff1f;在推送频率上来看&#xff0c;服务号每月能推送四条消息&#xff0c;而订阅号可以每天&#xff08;24小时&#xff09;推送一条消息。如果企业开通公众号的目的是提供服务&#xff0c;例如售前资讯…

详解--Hash(中文也称散列、哈希)

参考链接 参考链接2 1. hash 概念 1.1 什么是 hash Hash 也称散列、哈希&#xff0c;对应的英文都是 Hash。 基本原理就是把任意长度的输入&#xff0c;通过 Hash 算法变成固定长度的输出。这个映射的规则就是对应的 Hash 算法&#xff0c;而原始数据映射后的二进制串就是哈希…

alpha融合详解(alpha compositing)

alpha融合简介 alpha融合&#xff08;alpha compositing&#xff09;是图像处理中常用技术&#xff0c;常见的公式如下&#xff1a; C O α C A ( 1 − α ) C B (1) C_O \alpha C_A (1-\alpha)C_B \tag{1} CO​αCA​(1−α)CB​(1) 其中 C A C_A CA​&#xff0c; C B C…

43 深度学习(七):循环神经网络略谈:embedding|RNN|LSTM

文章目录 embeddingembedding的原理相关的代码演示 RNN出现的原因基本原理RNN基本代码------只取hn简单的RNN------取整个sequence简单RNN的局限 LSTM原理介绍LSTM------只取hn 以及双向处理 RNN的改进stack改进Bidirectional 改进embedding改进 embedding 在语句处理方面&…

华为防火墙基本原理工作方法总结

防火墙只会对tcp首包syn建立会话表&#xff0c;其它丢掉&#xff0c;如synack&#xff0c;ack udp直接建立会话表 icmp只对首包请求包建立会话表&#xff0c;其它包&#xff0c;如应答的不会建立直接丢掉 防火墙状态查看&#xff1a; rule name trust_untrust source-zone tru…

您与1秒钟测量两千个尺寸之间仅差一台智能测径仪!

随着产线的发展&#xff0c;自动化程度越来越高&#xff0c;生产速度越来越快&#xff0c;人们对产品的品质要求越来越高&#xff0c;对检测也提出了更高的要求。传统的检测与测量手段已经很难满足测量效率要求&#xff0c;业内迫切需要一种新型高效率的测量设备。 产线多种多样…

[ACTF2020 新生赛]Upload 1

题目环境&#xff1a; 仍旧是文件上传漏洞 这道题和上一道大差不差、大同小异、这里不再赘述。 [极客大挑战 2019]Upload 1&#xff1a;https://blog.csdn.net/m0_73734159/article/details/134267317?spm1001.2014.3001.5501 区别在于本题需要在抓包数据里面改文件后缀&#…

大语言模型幻觉解决方案综述

论文题目&#xff1a;《Cognitive Mirage: A Review of Hallucinations in Large Language Models》 论文链接&#xff1a;https://arxiv.org/abs/2309.06794v1 论文代码&#xff1a;https://github.com/hongbinye/cognitive-mirage-hallucinations-in-llms 技术交流群 建了…

编写软件产品使用说明书的重要技巧分享

编写软件产品使用说明书是确保用户能够准确了解和使用你的软件的重要一步。一份清晰、详尽的软件产品使用说明书不仅可以提高用户满意度&#xff0c;也能减少用户的疑惑和困惑。然而&#xff0c;要编写一份优秀的软件产品使用说明书并不容易。接下来就跟大家分享一些我的经验和…

使用JMeter创建FTP测试计划

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

Leetcode-234 回文链表

我的解法&#xff1a;使用栈&#xff0c;定义了len略微复杂&#xff0c;拿链表的后半部分和前半部分比较即可&#xff0c;没必要全部比较 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* List…

YOLO目标检测——路标检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;路标检测数据集在自动驾驶、交通安全监控、导航系统、城市规划和车辆行为分析等领域都有广泛应用的潜力数据集说明&#xff1a;路标检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;含有停止标志、速度限制标志、…

【编程语言发展史】Unity开发语言的历史发展

Unity开发前期版本时&#xff0c;使用的是一种名为UnityScript的类似JavaScript的语言。然而&#xff0c;随着时间的推移&#xff0c;开发者社区大多数人都倾向于使用C#进行开发&#xff0c;Unity决定将重点放在C#上&#xff0c;因为C#具有更强大的生态系统、更好的性能和更广泛…

基于wechaty实现聊天机器人(微信自动回复)

最终效果 返回前端一个二维码&#xff0c;扫码登录后&#xff0c;机器人将上线&#xff0c;根据后端node内代码实现自动回复等功能 初始化项目 npm init -y安装 wechaty 核心包 npm i wechaty wechaty-puppet wechaty-puppet-padlocal安装 qrcode-terminal 用于终端输出二…