Shell脚本攻略:expect脚本免交互

news/2024/10/18 5:40:31/

目录

目录

一、理论

1.Here Document

2.expect实现免交互

二、实验

1.实验一

2.实验二

3.实验三

4.问题


一、理论

1.Here Document

(1)概念

Here Document也被称为here-document/here-text/heredoc/hereis/here-string/here-script,在Linux/Unix中的shell中被广泛地应用,尤其在于用于传入多行分割参数给执行命令。除了shell(包含sh/csh/tcsh/ksh/bash/zsh等),这种方式的功能也影响和很多其他语言诸如Perl,PHP以及Ruby等。这篇文章以bash为例进行使用说明。


(2)使用方式和限制

使用格式如下所示:

命令 << 分隔串(最为常见的为EOF)
字符串1
…
字符串n
分隔串

使用限制:

分割串常见的为EOF,但不一定固定为EOF,可以使用开发者自行定义的,比如LIUMIAO
缺省方式下第二个分割串(EOF)必须顶格写,前后均不可有空格或者tab
缺省方式下第一个分割串(EOF)前后均可有空格或者tab,运行时会自动剔除,不会造成影响

(3)基本用法

统计行

read

添加密码    EOF(合法字符)

cat实现查看和重定向输出到指定文件

外部免交互

停止外部免交互


 

(4)<<- 与 <<的区别

使用<<-代替<<唯一的作用在与分割串所扩起来的内容,顶格的tab会被删除,用于ident。

 去掉每行的tab字符(空格键无效)

不输出

2.expect实现免交互

(1)概念

建立在tcl(tool command language)语言基础上的一个工具,常被用于进行自动化控制和测试,解决shell脚本中交互的相关问题,使用前需要安装(yum install  -y expect)。

(2)expect基本命令

命令功能
脚本解释器expect 脚本中首先引入文件,表明使用的是哪一种shell。expect的为:/usr/bin/expect
spawn命令用于捕捉关键词,后面常跟一个linux执行命令。
expect命令用于判断上层捕捉输出的结果是否有指定字符,有则立即返回,没有则默认等待10s。
exp_continue命令expect多分支判断时使用。
send命令expect命令判断完成需要返回时,发送需要交互的指令,想要传递给电脑的文字或字符,该命令不能自动回车换行,\n和\r是回车。
set命令可用于设置变量、设置expect超时时间,默认是10s。
set设置位置变量set password  [lindex $argv 0] ,设置时从0开始,执行脚本时在脚本后跟参数即可。
结束符expect eof 结束并返回原来环境,原来主机。
interact 结束但是不会返回原来的地方,保持当前状态,当前主机。

(3)安装expect

安装软件包

赋权执行

su切换用户

interact运行完保持

expect运行完退出

bash嵌套expect

⑥ ssh

二、实验

1.实验一

监控脚本写一个函数库,用定时任务调用这个函数库,每个月1号执行

(1)脚本截图

主函数

调用函数

(2)crontab计划任务

(3)运行结果

2.实验二

ssh免交互登录,如果密码出错,也使用免交互的方式实现自动完成

(1)脚本截图

(2)运行结果

密码输入错误

密码输入正确

3.实验三

使用fdisk给磁盘分区,格式化,挂载

(1)脚本截图

(2)运行结果

4.问题

linux系统或者掉盘的用户常常遭遇挂载磁盘报Structure needs cleaning(清理磁盘结构----格盘)的问题。

首先查看/dev/存储块是什么文件系统

在操作前请务必做好备份:

(1)ext4文件系统,使用命令  fsck.ext4 /dev/md0 修复,

(2)xfs文件系统,使用命令 xfs_repair -L /dev/md0修复,

一般情况修复后均可挂载,

但是如果磁盘有问题,或者阵列出问题时此种修复可能会失败,挂载时依然要求格盘,只能进行格盘了。


http://www.ppmy.cn/news/284998.html

相关文章

如果你是壁纸控,高清图片这里找!

很多壁纸控也会遇到这个情况&#xff0c;一张壁纸用了几个月&#xff0c;想换一张但是又找不到合适的壁纸&#xff0c;搞得自己很尴尬。 高图网壁纸网站&#xff0c;有手机壁纸&#xff0c;pc桌面&#xff0c;宽屏&#xff0c;风格类型有风景、汽车、动漫、游戏、太空、游戏等…

精品谷歌浏览器chrome插件大汇总!值得收藏

老话说的好&#xff0c;Chrome 没插件&#xff0c;香味少一半。 作为使用过上百个插件的Chrome半资深用户&#xff0c;这儿极力推荐10个插件&#xff0c;除了摸鱼&#xff0c;还能让你的工作学习效率翻高好几倍。 1&#xff09;Global Speed&#xff0c;视频播放提高至16倍速…

10个高效的摸鱼神器,你错过几个?

老话说的好&#xff0c;Chrome 没插件&#xff0c;香味少一半。 作为使用过上百个插件的Chrome半资深用户&#xff0c;这儿极力推荐10个插件&#xff0c;除了摸鱼&#xff0c;还能让你的工作学习效率翻高好几倍。 1&#xff09;Global Speed&#xff0c;视频播放提高至16倍速 以…

2 数据可视化大屏 - 布局

目前大屏做了好多个&#xff0c;详细案例参考&#xff1a; YYDatav的数据可视化《精彩案例汇总》&#xff08;Python&Echarts源码&#xff09;_YYDataV的博客-CSDN博客 总结下行业上常用的几种大屏布局版式&#xff0c;主要分为两大类&#xff1a; 一.【主次分布】 主要…

程序员的理想桌面

最近搬家换了新公寓&#xff0c;地方大了一些&#xff0c;配了一个书桌&#xff0c;于是又开始折腾起了自己的开发环境。之前近一年的时间&#xff0c;连个书桌都没有&#xff0c;基本上处于晚上在床上看看书&#xff0c;白天工作时间有空就整理一下。但经常忙起来就搁浅了&…

游戏迷必备桌面|穿越火线壁纸,燃动少年心

作为个cfer&#xff0c;收藏一下经典的cf图片是有必要的。cf手游刚上线的零妹妹可能让不少玩家垂涎已久&#xff0c;而网络上很多图片都带上码或者网站logo&#xff0c;在高图网 www.gaopic.com 高清壁纸让你不必费心搜索&#xff01;轻松玩转手机壁纸桌面图片&#xff01; 几张…

众多可爱壁纸素材一键即可获取

天天各大网站找可爱壁纸素材&#xff1f;最后空手而归&#xff1f;今天为大家推荐可爱壁纸素材网站&#xff0c;质量上乘适合资源慌缺的你&#xff0c;话不多说准备开始收藏吧&#xff01; 免费资源最多&#xff0c;又全面的&#xff0c; 它有很多素材&#xff0c;成品类的&am…

宽屏高清电影海报

电影壁纸收藏&#xff01; 点击下载 壁纸酷&#xff1a;[url]http://www.bizhiku.net/special/s20_1.htm[/url] 转载于:https://blog.51cto.com/bizhiku/46833