shell脚本第八章shell编程免交互

IEPE传感器4mA恒流源接口电路 另外传感器的偏置电压大概在10V多点,一般接个电容把直流分量去掉。这里我们要把恒流源的电流设置在4毫安左右,R1取33Ω差不多正好。经过CR的隔直流电路后的波形是这样的。 阅读详情

免交互:不需要人为控制就可以完成的自动化操作。

云计算中的免交互主要为自动化运维。

shell脚本和免交互是一个概念,但是两种写法。

 

 

Here Document :使用i/o重定向的方式,将命令的列表提供给交互式的程序或者命令。(是一种标准输入,只能接受正确的指令或者命令)
语法格式:
命令 << 标记 (可以自定义标记,不过通常用EOF)

注意事项:

1,标记可以使用任意合法字符,通常用EOF作为标记。

2,结尾的标记一定要顶格写,而且前面不能有任何字符。

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

4,如果开头的标记前有空格,这个空格会被自动省略。

cat结合免交互重定向输出到指定文件

cat <<EOF>> test.txt

Expect免交互:

tcl语言基础之上的一种工具,自动化测试和控制,在脚本中解决交互问题。

转义符:

\n:换行

\t:制表符,TAB

\r:回车

\b:删除键

基本命令格式:

#!/use/bin/expect

执行方式:

1,必须赋权执行 chmod777

2,bash,sh都不能用,只能用./执行

语法:

spawn 后面通常跟一个Linux的执行命令,表示开启一个会话,启动一个进程,并且会跟踪后续的交互性息

spawn passwd lisi

expect:捕获,捕获上一次执行的命令中是否包含指定的字符串,如果有,则立即返回,否则,等待超时之后,自动退出,默认超时时间,10秒

expect:只能捕获由spawn启动的进程输出

send:向进程发送字符串,用于模拟用户的输入。该命令不能自动回车,一般后面要加一个回车键:\r或者\n

第一种写法:

expect"密码” {send "abc123\r"}

第二种写法:

expect “密码”

send "abc123\r"

第三种写法:

expect

{

"密码1"{send"abc123\r}

"密码2"{send"abc123\r}

"密码3"{send"abc123\r}

}

只要匹配到其中一个情况,执行相应的send语句,然后就会退出expect语句。

结束符:

expect eof

会切换回之前的终端

interact

留在当前的终端不变

set:可以设置超时等待时间,默认为10秒

set timeout 5

例题:免交胡实现修改密码

vim passwd.sh

#!/usr/bin/expect

set timeout 5

spawn passwd lisi

expect “新的密码”

send “abc123\r”

expect “重新输入新的密码”

send “abc123\r”

expect eof

chmod 777 passwd.sh

exp_continue

可以在expect判断之后,继续匹配expect捕获的其他内容,类似于脚本中的continue,表示允许继续向下执行指令。

exp_continue :结束语句不能直接使用expect eof

书写格式:

expect {

"(yes/no)"{send"yes\r;exp_continue}

"password" {send"123\r"}

}

send_user :回显信息,相当于echo跟上后面用户想要输出的内容

send_user ok

接收参数:类似于shell当中的位置变量 $1 $2

set hostname [lindex $ argv 0]$1

set password [lindex $ argv 1] $2

set user [lindex $argv 0]

set passwd [lindex $argv 1]

spawn su - $user

expect "密码"

send "$passwd\r"

expect "$"

send_user "普通用户"

expect "#"

send _user "管理员"

小作业,看能不能实现判断a

shell嵌入式执行系统密码

嵌入执行模式有一个问题:如果涉及到终端切换,最好就不要用嵌入模式了

 

设定一个脚本实行自动远程连接:

 

参的方式实现自动远程登录(如果连接被绝或者主机不存在):

 

 

作业:

用免交互的方式给硬盘分区,格式化,挂载

VSCode 1.85便携版安装与配置:解决远程服务器glibc版本过低报错的保姆级指南 本文详细介绍了如何通过VSCode 1.85便携版解决远程服务器glibc版本过低导致的兼容性问题。通过环境隔离和版本固化的方法,开发者可以在老旧服务器上稳定运行Remote-SSH插件,同时保留主力VSCode的配置。文章提供了从下载安装到深度配置的完整指南,帮助用户快速搭建稳定的开发环境。 阅读详情

相关推荐

11、Windows Autopilot 部署与设备注册全攻略

本文详细介绍了Windows Autopilot的完整部署流程,涵盖注册配置文件设置、注册状态页面(ESP)配置、设备注册方法(包括CSV导入、JSON注入、在线注册等)、自动化脚本实现及故障排除技巧。通过手动与PowerShell自动化两种方式指导用户完成配置,并提供流程图、最佳实践和常见问题解答,帮助IT管理员高效实现设备零接触部署与管理。

ii567的博客 289

android adb shell 命令

主要关于adb shell 中的命令(am 、pm、input等):  一、am: 我们可以通过命令启动android中的Activity,Service,BroadcastReceiver 等组件 位置: framework/base/cmd 1. 拨打一个电话:      am start -a android.intent.action.CALL -d te

铁锹在手,天下我有 3165

【推荐100个unity插件】基于节点的程序化无限地图生成器 —— MapMagic 2

MapMagic 2是一款基于节点的程序化地形生成工具,可快速创建无限地图。主要功能包括:通过图形化节点编辑器构建地形逻辑;支持四个核心模块(对象、样条线、生物群落和笔刷);提供完整的操作指南,包括创建资产、使用编辑器窗口、节点操作等。工具具有直观的UI界面,支持节点连接、参数调整、图层管理等功能,并能实时生成地形。适合游戏开发者快速构建高质量的可玩地形环境。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3023

Android打开/关闭免提(SpeakerPhone)

//打开扬声器      public void OpenSpeaker() {          try{          AudioManager audioManager = (AudioManager) mContext.getSystemService  (Context.AUDIO_SERVICE);          //audioManager.setMode(AudioMan...

jasonhongcn的专栏 4298

第八章 SHELL脚本编程基础

SHELL脚本编程基础 编程基础 Linus: Talk is cheap,show me the code(光说不练,给我看代码) 程序 程序:算法+数据结构 数据:是程序的核心 数据结构:数据在计算机中的类型和组织方式 算法:处理数据的方式 程序编程风格: 对象式:以数据为中心,指令服务于数据 过程式:以指令为中心,数据服务与指令 shell程序:提供了编程能力,解释执...

19:30的博客 309

第八章Shell脚本编程

将管道符号“|”左侧的命令输出的结果,作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。/dev/null :Linux回收站 > /dev/null直接丢回收站。重定向输出 > 将标准输出结果 保存 到指定的文件,并且覆盖原有内容。重定向错误输出 2> 将错误信息 保存 到指定的文件,并且覆盖原有内容。>> 将标准输出结果 追加 到指定的文件的尾部,不覆盖原有内容。2>> 将错误信息 追加 到指定的文件的尾部,不覆盖原有内容。

weixin_48209518的博客 556

Linux系统应用 第八章 Shell编程入门

8.1Shell编程过程 在Linux中,Shell不但能与用户进行逐个命令交互执行,也可以通过脚本语言进行编程。通过对Shell进行编程,可使大量任务自动化,对于系统管理、系统维护方面特别有用。 复习与Shell相关的命令 1.现在无论使用哪种Linux操作系统,默认的Shell总是/bin/bash。 2.查看系统中SHELL变量的值: echo $SHELL 3.查看系统内置了哪些Shel...

QvQWangXiaoBao的博客 1201

Linux系统入门第八章 --Shell编程Shell变量

Bash 中的变量操作相对比较简单,不像其他高级编程语言(如 C/C++、Java 等)那么复杂。在定义一个新的变量时,一般不需要提前进行声明,而是直接指定变量名称并赋给初始值(内容)即可。定义变量的基本格式为“变量名=变量值”,等号两边没有空格。变量名称需以字母或下划线开头,名称中不要包含特殊字符(如+、-、*、/、:、?、%、&、#等)预定义变量是由 Bash 程序预先定义好的一类特殊变量,用户只能使用预定义变量,而不能创建新的预定义变量,也不能直接为预定义变量赋值。

2301_81259717的博客 1200

第八章shell脚本应用(三)

第八章shell脚本的应用(三) 简介: 除了上一章学习的if 条件语句之外,作为一种脚本编程语言, shell同样包含循环、分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。 本章将学习 for、while、case 语句的具体应用。 一、for循环 1、for循环语法结构 2、使用for循环 1)创建取值列表 2)编写for循环脚本 3)删除指定用户 3、使用for循环测试网络连通性 二、while循环 1、while循环语法结构 2、创建用户名字以stu开头数

qq_51020649的博客 188

Linux命令行与shell脚本编程大全》 第八章 学习笔记

第八章:安装软件程序 包管理基础 每个主要的Linux发行版都利用包管理系统的某些形式来控制安装软件应用和库 PMS(Package Manager System)利用一个数据库来记录: 1.Linux系统上已安装了什么软件包 2.每个包安装了什么文件 3.每个已安装软件包的版本 软件包存储在服务器上,这些服务器称为库(repository) PMS会检查包的依赖关系,并在

su1216的专栏 3426

Linux Shell 脚本编程基础知识(一)

GNU/Linux 系统上的 shell 可以说是任何用户最强大的工具。一般来说,shell 充当系统用户和操作系统内核之间的接口。我们使用 shell 来运行命令以执行任务,并经常将输出保存到文件中。虽然这些简单的用例可以通过在 shell 上使用一些命令轻松实现,但有时手头的任务可能比这更复杂。进入 shell 脚本编写,这是一种神奇的工具,它允许您向 shell 编写逐步说明,告诉它如何执行复杂的任务。然而,除非您知道可以使用的命令,否则仅仅学习编写脚本的语法是不够的。

龙哥盟 1303

shell脚本编写九九乘法表_LINUX快速入门第八章Shell基础

Shell 脚本是什么?我们平时所说的 Shell 可以理解为 Linux 系统提供给用户的使用界面。Shell 为用户提供了输入命令和参数并可得到命令执行结果的环境。当一个用户登录 Linux 之后,系统初始化程序 init 就根据 /etc/passwd 文件中的设定,为每个用户运行一个被称为 Shell(外壳)的程序。确切地说,Shell 是一个命令行解释器,它为用户提供了一个向 Linux...

weixin_36369259的博客 657

Linux操作系统编程第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组

shell 语言结构,包括测试、分支、循环、跳转、函数、语句组

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:CSDNWF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 596

Linux命令行和shell脚本编程宝典 笔记

Linux命令行和Shell脚本编程宝典 阅读笔记。 第一部分:Linux命令基础 第二部分:shell脚本基础 第三部分:shell脚本高级 第四部分:shell种类及使用 第五部分:实际使用

darren的专栏 2947

Shell编程学习

Shell编程基础知识学习

eilot_c的博客 1757

linux命令行和shell脚本编程宝典——第八章:基本脚本编译

连接多条命令 使用分号“;”分隔不同命令    比如who;date 这种方式还是在提示符下手动输入命令,创建脚本文件才是更好的方法 脚本文件 第一行:   #!/bin/bash   或者.... Shell使用PATH环境变量查找命令。如有需要,可以暂时更改PATH,比如把当前目录添加进去。 echo :显示文本       通常用于提示信息 echo命令

gongchangwangqi的专栏 467

Linux命令行与Shell脚本编程第八章 管理文件系统

第八章 管理文件系统。

qq_44765647的博客 2273

Shell编程Shell从入门到精通

文档名称 Shell 从入门到精通 作者信息 李振良(阿良) 技术博客 http://blog.51cto.com/lizhenliang 说明 本文档均为个人经验总结,转发请保留出处,抵制不道德行为。 文档会不定期修改或新增知识点,请关注群动态或微信公众号获取 最新文档。 最后更新时间 2019-2-1 第一章 Shell基础知识 1.1 简介Shell是一个C语言编写的...

就叫一片白纸的博客 2664

第八章shell脚本应用(三)

简介 除了上一章学习的if条件语句之外,作为一种脚本编程语言,Shell同样包含循环、分支等其他程序控制结构,从而能够轻松完成更加复杂、强大的功能。本章将学习for、while、case语句的具体应用。 本章重点 for、while循环语句 case分支语句 理论讲解 一、使用for循环语句 在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的对象不一样,其他命令相同。例如,根据通讯录中的姓名列表创建系统账号,根据服务器清单检查各主机的存活状态,根据IP地址黑名单设置拒绝访

qq_43621828的博客 466

Linux命令行与shell脚本编程大全》 第十章 学习笔记

第十章:构建基本脚本 这一章的内容都是非常基础的,作者大多都一带而过,没有细讲 之前读的《Unix & Linux大学教程》中,对这节所提到的内容全部都有详细的讲解,所以想看笔记的同学可以参考我之前的笔记,我会在每个知识点后加上上一本书笔记相应的链接 使用多个命令 多个命令之间,用分号分隔即可 创建shell脚本文件 shell脚本的行中

su1216的专栏 7552

Shell

Shell环境预先定义了一些变量,方便用户直接使用。HOME: 当前用户的家目录。PWD: 当前工作目录。SHELL: 当前使用的Shell解释器。USER: 当前登录的用户名。使用$变量名。使用echo $变量名。示例:echo $HOME使用set命令。基本语法:变量名=变量值(等号两边不能有空格)。示例:(值有空格时用引号)unset 变量名。readonly 变量名=变量值(不能被unset名称可由字母、数字、下划线组成,不能以数字开头,建议环境变量名大写。默认都是。

crazyfishmanhaha的博客 1020

Linux Shell 编程训练营(一)

Linux Shell Scripting Bootcamp 中,您将首先学习脚本创建的基础知识。您将学习如何验证参数,以及如何检查文件的存在。接着,您将熟悉 Linux 系统上变量的工作原理以及它们与脚本的关系。您还将学习如何创建和调用子例程以及创建交互式脚本。最后,您将学习如何调试脚本脚本编写的最佳实践,这将使您每次都能编写出优秀的代码!通过本书,您将能够编写能够高效地从网络中获取数据并处理数据的 shell 脚本。在本章中,我们讨论了脚本设计的基础知识。展示了如何使脚本可执行,以及创建信息性的。

龙哥盟 877

列车辅助变流器Matlab_Simulink仿真技术研究及应用.pdf

列车辅助变流器Matlab_Simulink仿真技术研究及应用.pdf

基于Opencv+python的车牌识别系统代码(下载即用)

基于Opencv+python的车牌识别系统代码(下载即用),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。基于Opencv+python的车牌识别系统代码(下载即用),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。基于Opencv+python的车牌识别系统代码(下载即用),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。基于Opencv+python的车牌识别系统代码(下载即用),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。基于Opencv+python的车牌识别系统代码(下载即用)基于Opencv+python的车牌识别系统代码(下载即用)基于Opencv+python的车牌

上一篇: shell第七章awk的应用
下一篇: shell第九章iptables防火墙
BryantLSY
博客等级 码龄3年 116粉丝 69原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值