![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell脚本编程
文章平均质量分 74
无
[禾火]
这个作者很懒,什么都没留下…
展开
-
第一章 Shell 概述
root@server ~]# free -h | grep Mem | awk '{print $4}' # 使用awk截取第4列。面试题2:增加history显示的信息,如:历史命令的执行时间。面试题1:显示hostory历史命令次数最高的top10。面试题1:提取系统网卡的IP地址信息。面试题2:显示内存的剩余数量。原创 2024-02-19 16:44:33 · 921 阅读 · 0 评论 -
第二章 变量和引用
变量是在程序中保存用户数据的一段内存存储空间,变量名是内存空间的首地址原则:直接使用,不需要变量声明格式:变量名=变量的值/bin/bash# 定义变量aa=1# 定义变量bb="hello"# 定义变量c# 定义路径前后不能收空格字符串类型建议使用双引好作为定界符引起,尤其是字符串中有空格概念:上述以赋值形态形成的变量定义形式称为自定义变量引用变量的值:(1)$变量名(2)${表达式或变量名}10241024查看变量取消变量:unset 变量名256。原创 2024-02-19 16:51:37 · 1125 阅读 · 0 评论 -
第三章 shell条件测试
例4:编写脚本temp3.sh,功能:显示root目录下的文件信息,之后建立一个aa目录,在aa目录下新建一 个文件bb.txt,并修改该文件的权限为可执行,最后再次浏览信息。例7:编写脚本temp6.sh ,给定文件anaconda-ks.cfg,判断是否存在空白行,若存在则显示行数,否则显示“无空白行”提示信息。例2:编写脚本temp2.sh ,程序从键盘读入一个目录名,判断该命令是否存在,若不存在则创建,并显示目录信息。例5:编写脚本temp4.sh,从键盘读入x,y,计算和值后输出。原创 2024-02-20 17:09:09 · 947 阅读 · 0 评论 -
第四章 流程控制之条件判断
例2:面试题,编写脚本choice2.sh,判断系统内存剩余容量大小,若低于100M则发送消息进行告警。例3:编写脚本choice3.sh,判断当前脚本的执行者,若不是root账户则提示,并退出。例10:编写脚本choice10.sh,对上例7的百分制成绩判断等级成绩进行改写。例1:编写脚本choice1.sh,利用单分支结构实现输入2个整数,输出最大值。例6:面试题,编写脚本choice6.sh,判断主机是否存活。例5:编写脚本choice5.sh,判断sshd是否运行。统计某个服务是否运行的方法。原创 2024-02-20 17:40:59 · 356 阅读 · 0 评论 -
脚本项目一
3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web serveris running: 加里不能正堂访问返向12状态已。2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则。1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。原创 2024-02-20 17:42:01 · 330 阅读 · 0 评论 -
第五章 流程控制之循环
上例语法中,expression表示条件表达式,循环必须满足该表达式,否则循环结束,可以是任何符合语法的shell命令,但推荐书写测试表达式。例1:猜测商品价格,通过变量RANDOM获取随机整数并控制在20以内,提示用户猜测商品价格,猜测时需要记录次数,猜中后退出程序。expression是一个条件表达式,值不为0时,执行do与done之间的语句,值为0时退出until循环。例2:计算100到150之间不能被3整除的数,输出时一行显示5个。例3:计算1+3+5+7+9+……例5:面试题:批量创建用户。原创 2024-02-23 16:30:19 · 823 阅读 · 0 评论 -
第六章 文本搜索工具--grep
grep是linux中一种强大的文件搜索过滤工具,可以按照正则表达式检索文件内容,并把匹配的结果显示到屏幕上(匹配的内容会标红)工作方式:grep可以在一个或多个文件中检索,如果条件中包含了空格,需要使用双引号引起。意义:账户名:密码代号x:UID:GID:注释:家目录:登录的Shell。注意:最后一段/sbin/nologin表述不允许登录。工作结果:如果搜索成功则返回0状态码,否则为1状态码。作用:记录账户的信息,共分为7段,使用冒号分割。原创 2024-02-23 16:35:48 · 403 阅读 · 0 评论 -
第七章 正则表达式
-] : 表示范围,如:[0-9] [a-z] [A-Z] [a-zA-Z][ab] : 检索包含a或包含b的行信息,[ ] 中只能表示一个内容。[^ ] : 根据关键字检索后反向显示(反向着色)点(.) 与星号(*)原创 2024-02-23 16:37:40 · 920 阅读 · 0 评论 -
第八章 shell编程之sed
n,--quiet,--silent:安静模式,不输出模式空间中的内容,在一般sed的用法中,所有来自STDIN的数据一般都会被列出到屏幕上,但如果加上-n参数后,则只有经过sed特殊处理的那一行才会被列出来。(2)执行:默认情况下,所有的sed 命令都在模式空间中顺序地执行,除非指定了行的地址,否则sed 命令 将会在所有的行上依次执行。d操作用于删除文本的特定行,会删除指定的所有内容,则使用该命令必须特别小心,若忘记指定处理行的话会删除所有内容,也不会有任何输出。在发送数据后,模式空间将会被清空。原创 2024-02-23 16:39:39 · 883 阅读 · 0 评论 -
脚本项目二
2.编写脚本for2.sh,使用for循环,通过ping命令测试网段的主机连通性,IP前3段由用户输入,如:输入192.168.223 ,则ping 192.168.223.125 - 192.168.223.135,将可以ping通的主机IP地址写入到/tmp/host_up.txt文件中,不能ping通的主机IP地址写入到:/tmp/host_down.txt文件中。(4)编写脚本for3.sh,通过for循环登录主机修改对方root账户密码。(3)多台主机间通过ssh-copy-id进行免密登录。原创 2024-02-23 17:18:07 · 343 阅读 · 0 评论 -
第九章 shell编程之awk
awk允许用户自定义自己的变量以便在程序代码中使用变量名命名规则与大多数编程语言相同,只能使用字母、数字和下划线,且不能以数字开头awk变量名称区分字符大小写例。原创 2024-02-25 17:58:53 · 987 阅读 · 0 评论 -
项目:shell实现多级菜单脚本编写
本脚本主要实现多级菜单效果,并没有安装LAMP、LNMP环境,如果要用在实际生成环境中部署LNMP、LAMP环境,只需要简单修改一下就可以了。原创 2024-02-25 18:01:38 · 1005 阅读 · 0 评论