免交互和嵌入执行模式
目录
概念
语法格式
统计行数
赋值变量
修改密码编辑往文件里添加内容
编辑编辑引入变量
整体赋值编辑
加引号不赋值变量
expect实现免交互
免交互设置密码
免交互切换用户
嵌入执行模式
添加用户并免交互设置密码
免交互登录
传参实现ssh
练习
概念
交互:我们发出指令控制程序的运行,程序在接受到指令之后按照指令的效果做出对应的反应。
免交互:间接的通过第三方的方式把指令传送给程序,不用直接下达指令。
免交互的方式:
免交互 全名 Here Document
这是命令行格式,也可以写在脚本中,通过I/O重定向的方式将命令的列表传送给交互程序或命令。是标准输入的一种替代品,代替了人工的输入方式。
语法格式
命令(Linux的系统命令) <<标记
内容1
内容2
内容3
标记
命令(Linux的系统命令) <<标记
内容1
内容2
内容3
标记
注意事项:
1.标记可以是任意合法字符(一般不用特殊字符,不以数字开头,通常以EOF作为默认的标记位)2.结尾的标记一定要顶格写,并且前面不能有任何字符,空格也不行
3.结尾的标记后面也不能有任何字符,包括空格
4.开头的标记前后的空格都会被省略
统计行数

赋值变量

修改密码
往文件里添加内容

引入变量

整体赋值
加引号不赋值变量


expect实现免交互
用tcl语言写的一个工具,主要用自动化控制和测试。解决shell脚本交互的问题。
转义符:
\n:换行
\r:相当于回车
\t:相当于tap键
\b:退格,相当于删除键
免交互设置密码

免交互切换用户

嵌入执行模式
添加用户并免交互设置密码

免交互登录

传参实现ssh
#!/usr/bin/expect
set timeout 5
set hostname [lindex $argv 0]
set password [lindex $argv 1]#进入命令行
spawn ssh $hostnameexpect {"No route to host" {send_user "主机名/IP有误\n"}"Connection refused" {send_user "ssh连接拒绝\n"}"(yes/no)" {send "yes\r";exp_continue}"password" {send "$password\r"}
}
#
interact
练习
一个脚本完成要求:免交互实现磁盘分区,分一个区即可,分完之后,第一步格式化,第二步实现挂载,手动挂载即可,然后在分区挂载点创建一个文件,写入内容"学习使我快乐!"并打印。
#!/bin/bash
disk=$1
/usr/bin/expect <<-EOF
set timeout 5
spawn fdisk /dev/$disk
expect "Command"
send "n\r"
expect {"Select" {send "\r";exp_continue}"Partition number" {send "\r";exp_continue}"First sector" {send "\r";exp_continue}"Last sector" {send "\r";exp_continue}"Command" {send "w\r"}
}
expect eof
EOFpartprobe
lsblk | grep "${disk}1"
if [ $? -eq 0 ];thenecho "分区/dev/${disk}1已建立!"
elseecho "未检测到分区,请检查!"exit
fi
mkfs.xfs /dev/${disk}1
mkdir /opt/${disk}1
mount /dev/${disk}1 /opt/${disk}1
echo "学习使我快乐" > /opt/${disk}1/test.txt
cat /opt/${disk}1/test.txt
相关文章:
免交互和嵌入执行模式
目录 概念 语法格式 统计行数 赋值变量 修改密码编辑往文件里添加内容 编辑编辑引入变量 整体赋值编辑 加引号不赋值变量 expect实现免交互 免交互设置密码 免交互切换用户 嵌入执行模式 添加用户并免交互设置密码 免交互登录 传参实现ssh 练习 概念 …...
Hadoop版本演变、分布式集群搭建
Hadoop版本演变历史 Hadoop发行版非常的多,有华为发行版、Intel发行版、Cloudera Hadoop(CDH)、Hortonworks Hadoop(HDP),这些发行版都是基于Apache Hadoop衍生出来的。 目前Hadoop经历了三个大的版本。 hadoop1.x:HDFSMapReduce hadoop2.x…...
【Qt C++实现绘制仪表盘】
要在Qt C中绘制仪表盘,您可以使用QChart、QSeries、QBarSeries、QPointSeries等类。以下是一个简单的示例,演示如何使用这些类创建一个绘图仪表盘: #include <QApplication> #include <QChart> #include <QChartView> #in…...
一文看懂LLaMA 2:大型多模态模型的新里程碑
一文看懂LLaMA 2:大型多模态模型的新里程碑 LLaMA 2是OpenAI继GPT-3之后推出的又一重磅模型,它不仅在文本生成方面有所突破,而且在图像处理和语音识别等领域也展现出了令人印象深刻的能力。本文将全面介绍LLaMA 2的背景、技术细节、应用场景…...
基于Spring Boot构建淘客返利平台
基于Spring Boot构建淘客返利平台 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将讨论如何基于Spring Boot构建一个淘客返利平台。 淘客返利平台通过…...
Qt—贪吃蛇项目(由0到1实现贪吃蛇项目)
用Qt实现一个贪吃蛇项目 一、项目介绍二、游戏大厅界面实现2.1完成游戏大厅的背景图。2.2创建一个按钮,给它设置样式,并且可以跳转到别的页面 三、难度选择界面实现四、 游戏界面实现五、在文件中写入历史战绩5.1 从文件里提取分数5.2 把贪吃蛇的长度存入…...
Java导出Excel并邮件发送
一、导出Excel 添加maven依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.10-FINAL</version></dependency><dependency><groupId>org.apache.poi</groupI…...
【课程总结】Day12:YOLO的深入了解
前言 在【课程总结】Day11(下):YOLO的入门使用一节中,我们已经了解YOLO的使用方法,使用过程非常简单,训练时只需要三行代码:引入YOLO,构建模型,训练模型;预测…...
保护隐私,释放智能:使用LangChain和Presidio构建安全的AI问答系统
保护隐私,释放智能:使用LangChain和Presidio构建安全的AI问答系统 在人工智能(AI)飞速发展的今天,AI问答系统已经成为企业与客户互动的重要工具。然而,随之而来的个人数据隐私问题也日益凸显。如何在不泄露…...
【高考志愿】自动化
目录 一、专业概述 二、课程设计 三、就业前景与方向 四、志愿填报 五、自动化专业排名 一、专业概述 高考志愿自动化专业选择,无疑是迈向现代化工业与科技发展的一把金钥匙。自动化专业,作为现代工程领域的重要支柱,融合了计算机、电子…...
技巧类题目
目录 技巧类题目 136 只出现一次的数字 191 位1的个数 231. 2 的幂 169 多数元素 75 颜色分类 (双指针) 287. 寻找重复数 136 只出现一次的数字 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均…...
Vue3自定义指令参数修饰符值(3)
自定义指令参数修饰符值 在vue3中我们如何获取自定义的参数的内容,并根据业务来修改展示的内容呢,需要依靠mounted方法中的bindings参数来获取。 参考实例 directives/unit.js文件 export default function directiveUnit(app){app.directive("unit",{…...
HTML(23)——垂直对齐方式
垂直对齐方式 属性名:vertical-align 属性值效果baseline基线对齐(默认)top顶部对齐middle居中对齐bottom底部对齐 默认情况下浏览器对行内块,行内标签都按文字处理,默认基线对齐 导致图片看起来会偏上,文字偏下。 示例&#…...
linux查看二进制文件
在Linux中,查看二进制文件可以使用hexdump或xxd命令。 例如,要查看一个名为example.bin的二进制文件的内容,可以使用以下命令之一: 使用hexdump: bash hexdump -C example.bin使用xxd: bash xxd exam…...
营销翻车,杜国楹出面道歉,小罐茶的“大师作”故事仓皇结尾
“小罐茶,大师作”,这句slogan曾一度在央视平台长时间、高密度播放,成为家喻户晓的广告词,也打响了小罐茶品牌的名号。但同时,市场上关于“大师作”真实性的质疑也从未停息。 就在6月25日小罐茶十二周年发布会上&#…...
linux server下人脸检测与识别服务程序的系统架构设计
一、绪论 1.1 定义 1.2 研究背景及意义 1.3 相关技术综述 二、人脸检测与识别技术概述 2.1 人脸检测原理与算法 2.2 人脸识别技术及方法 2.3 人脸识别过程简介 三、人脸检测与识别服务程序的系统架构 3.1 系统架构设计 3.2 技术实现流程 四、后续设计及经验瞎谈 4.…...
安装CLion配置opencv和torch环境
配置操作如图,源码见底部附录部分 安装CLion 官网下载 创建项目 设置环境 调整类型为release 配置opencv和项目 编译环境 编译后 重启CLion 测试opencv环境 测试代码 运行main.cpp显示图片 测试torch环境 没标红表示配置成功 附件 CMakeList.txt cmake_mi…...
[leetcode]number-of-longest-increasing-subsequence
. - 力扣(LeetCode) class Solution { public:int findNumberOfLIS(vector<int> &nums) {int n nums.size(), maxLen 0, ans 0;vector<int> dp(n), cnt(n);for (int i 0; i < n; i) {dp[i] 1;cnt[i] 1;for (int j 0; j < i…...
[MYSQL] MYSQL库的操作
前言 本文主要介绍MYSQL里 库 的操作 请注意 : 在MYSQL中,命令行是不区分大小写的 1.创建库 create database [if not exists] database_name [charsetutf8 collateutf8_general_ci] ...] create database 是命名语法,不可省略[if not exists] 如果不存在创建,如果存在跳过…...
数字黄金 vs 全球计算机:比特币与以太坊现货 ETF 对比
撰文:Andrew Kang 编译:J1N,Techub News 本文来源香港Web3媒体:Techub News 比特币现货 ETF 的通过为许多新买家打开了进入加密货币市场的大门,让他们可以在投资组合中配置比特币。但以太坊现货 ETF 的通过…...
Xenium空间原位转录组:从数据到生物学发现的实战解析
1. Xenium平台与空间原位转录组技术初探 第一次接触Xenium平台的数据时,我被它呈现的空间基因表达图谱震撼到了。想象一下,这就像给组织切片拍了一张"基因表达照片",每个像素点都记录着成百上千个基因的活动状态。10x Genomics推出…...
第一步:你只需要改这里的所有参数
算数优化算法AOA,2021年新出的智能优化算法,结合SVM做回归拟合预测建模,代码内有详细的注释替换数据就可以使用上次实验室熬大夜调催化加氢产率的SVR模型差点怀疑人生:RBF核随便蒙C和gamma,MSE有时候0.01有时候飘到0.5…...
GLM-OCR开发者实操手册:Gradio client调用+批量图片识别脚本示例
GLM-OCR开发者实操手册:Gradio client调用批量图片识别脚本示例 你是不是也遇到过这样的场景:手头有一堆发票、合同或者产品说明书图片,需要把里面的文字、表格甚至公式都提取出来?一张张手动录入或者用传统OCR工具,不…...
Souliss嵌入式状态同步框架:轻量级去中心化智能家居通信实践
1. Souliss 智能家居网络框架深度解析:面向嵌入式工程师的底层通信架构实践指南Souliss 是一个专为资源受限嵌入式节点设计的轻量级、去中心化智能家居网络框架。其核心目标并非构建通用物联网平台,而是解决真实家庭场景中多协议共存、低功耗节点协同、边…...
Python 装饰器实战:用@syntax 优雅地增强函数功能
# Python 装饰器实战:用syntax 优雅地增强函数功能## 什么是装饰器?装饰器(Decorator)是 Python 中的一种高级特性,它允许你在不修改原函数代码的情况下,动态地给函数添加功能。简单来说,装饰器…...
解锁风扇智能控制秘诀:静音散热与性能优化完全指南
解锁风扇智能控制秘诀:静音散热与性能优化完全指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fa…...
流式清洗新标准:Polars 2.0 Streaming ETL在Kafka-ClickHouse链路中的低延迟落地(端到端<120ms)
第一章:流式清洗新标准:Polars 2.0 Streaming ETL在Kafka-ClickHouse链路中的低延迟落地(端到端<120ms) Polars 2.0 引入的原生流式执行引擎(Streaming Execution Engine)彻底重构了传统批式DataFrame处…...
YOLO_World+SAM+GraspNet在mujoco中的抓取仿真实战:从环境搭建到代码运行
YOLO_WorldSAMGraspNet在MuJoCo中的抓取仿真实战:从环境搭建到代码运行 在机器人抓取仿真领域,结合YOLO_World、SAM(Segment Anything Model)和GraspNet三大前沿技术,能够在MuJoCo物理引擎中实现高度逼真的物体识别、分…...
VMware虚拟机安装Ubuntu教程:创建独立的Qwen3-14B-AWQ模型测试环境
VMware虚拟机安装Ubuntu教程:创建独立的Qwen3-14B-AWQ模型测试环境 1. 为什么需要虚拟机测试环境 在测试大语言模型时,使用虚拟机可以避免污染宿主机环境。特别是像Qwen3-14B-AWQ这样的模型,依赖项复杂,直接在主机上安装可能会与…...
颠覆级工具:Unity游戏自动翻译与游戏本地化全攻略
颠覆级工具:Unity游戏自动翻译与游戏本地化全攻略 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化游戏市场中,语言障碍已成为制约玩家体验与开发者用户增长的核心痛点。XU…...
