Shell 脚本攻略
文章平均质量分 53
多敲多练习
Xucf1
潜心修炼
展开
-
Shell 脚本攻略:巡检(ping)一批主机,需要上报存在时延超过 50ms 和丢包现象的主机
文章目录需求:脚本:突然想记录一下一个多月以前我帮主管完成的一个活,亲测有效,生产与测试环境皆可使用。需求:巡检(ping)一批主机,需要上报存在时延超过50ms和丢包现象的主机。脚本:#!/bin/bash#注:在/opt/目录下创建“ip.txt”文本,并放入需要测试的ip以作后续测试(遍历)a=`cat /opt/ip.txt`#在/opt目录下创建这三个txt文本cd /opt>./result.txt>./result1.txt>./result2原创 2021-07-10 17:04:46 · 1535 阅读 · 2 评论 -
Shell 脚本攻略 | LNMP+Zabbix 一建部署
文章目录准备环境脚本如下准备环境此脚本基于我之前写过一篇博客:基于 LNMP 部署 Zabbix 集中监控系统脚本如下#!/bin/bash#----开局优化----systemctl stop firewalld && systemctl disable firewalld#关闭防火墙及开机自启setenforce 0 && sed -i "s/SELINUX=*/SELINUX=disabled/g" /etc/selinux/config#关闭安原创 2021-04-01 15:50:50 · 3910 阅读 · 9 评论 -
Shell 脚本攻略 | 一键部署在线YUM源仓库(aliyun)及安装最新版本的 docker-ce
文章目录脚本内容如下↓脚本内容如下↓#!/bin/bashecho "----开始配置在线YUM源仓库(aliyun)----"mkdir -p /etc/yum.repos.d#'-p'选项表示确保目录名称存在,若不存在则创建mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repos-0.bak#'-f'选项表示不会询问,直接覆盖同名旧文件wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirro原创 2021-03-26 12:19:32 · 485 阅读 · 0 评论 -
Shell 脚本攻略(一键部署系列)( Redis 数据库)
文章目录一、准备二、脚本内容一、准备下载软件包传送门:redis-5.0.7.tar.gz(提取码:qwer)将下载好的软件包传至 /opt/ 目录下二、脚本内容以下为脚本内容:systemctl stop firewalldsystemctl disable firewalldsetenforce 0#关闭防火墙及强制访问控制yum -y install gcc gcc-c++ make#下载依赖包cd /opttar zxvf redis-5.0.7.tar.g原创 2021-02-26 09:05:47 · 405 阅读 · 0 评论 -
Shell 脚本攻略--Mysql 服务(一键部署)(源码编译安装)
文章目录准备一键脚本准备将安装 mysql 所需软件包传到 /opt 目录下cd /opt#Xshell直接可以“拖进去”mysql-boost-5.7.20.tar.gz#这是一个整合包软件包资源传送门:提取码 u4vw开始之前,先声明一下我的环境:VMware 16 Pro(16.1.0)CentOS 7Xshell 7本地 Yum 源仓库MySQL 源码编译时间较长,脚本内是 4核编译安装,建议实现修改虚拟机设置,“加强”一下处理器,以加快速度一键脚本原创 2021-02-04 21:26:33 · 590 阅读 · 1 评论 -
Shell 脚本攻略--Apache httpd 服务(一键部署)
文章目录准备工作shell脚本验证准备工作建议可以粗略看下我之前的博客攻略,传送门:部署 lamp平台–Linux、Apache、MySQL 与 PHP–源码编译安装首先需要将安装Apache所需软件包传至/opt目录下软件包百度云链接:https://pan.baidu.com/s/1sYdtS5jkvQ8mur5RzrjXcA(提取码:wssg)shell脚本[root@localhost ~]# cd /opt/[root@localhost opt]# vim apache.sh原创 2021-01-07 23:19:37 · 1984 阅读 · 6 评论 -
shell 脚本攻略--DNS 正向解析(一键部署)
文章目录准备shell脚本准备关于DNS域名解析服务想进一步了解的同学可以看我之前的博客:DNS域名解析服务话不多说,直接上干货shell脚本[root@localhost ~]# vim /opt/dns1.sh #!/bin/bash#构建DNS域名解析服务器步骤之正向解析#检测YUM源仓库是否挂载df | grep "sr0"if [ $? -eq 0 ] then yum -y install bind &> /dev/n原创 2020-12-30 00:28:53 · 431 阅读 · 0 评论 -
Shell 脚本攻略--Here Document 免交互与 Expect 自动化交互
文章目录一、Here Document 免交互1.概述2.语法格式3.注意事项4.示例4.1 免交互方式实现对行数的统计4.2 通过read命令接收输入并打印4.3 通过passwd给用户设置密码4.4 支持变量替换4.5 整体赋值给变量,然后通过echo命令打印出变量值4.6 关闭变量替换的功能4.7 去掉每行之前的TAB字符4.8 多行注释二、Expect 自动化交互1.概述2.基本命令2.1 脚本解释器2.2 spawn2.3 expect2.4 send2.5 结束符2.6 set2.7 exp_c原创 2020-12-27 21:37:59 · 2020 阅读 · 3 评论 -
Linux--文件处理三剑客(二)(awk详解)
文章目录一、awk 编辑器1.工作原理2.命令格式3.awk 常见的内建变量二、实例1.按行输出文本2.按字段输出文本3.通过管道符号、双引号调用shell 命令一、awk 编辑器在 Linux/UNIX 系统中,awk 是一个功能强大的编辑工具能够逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理还可以在无交互的情况下实现相当复杂的文本操作被广泛应用于 Shell 脚本中,完成各种自动化配置任务1.工作原理逐行读取文本,默认以空格或 tab 键原创 2021-02-04 18:36:17 · 1574 阅读 · 3 评论 -
Linux--文件处理三剑客(一)(sed详解)
文章目录sed编辑器概述工作流程读取执行显示命令格式常用选项常用操作示例打印内容使用地址删除行替换标记插入sed编辑器概述sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中流编辑器的工作过程可以理解为:是从上往下依次执行,就像流水一样,一行一行逐行来执行的工作流程主要包括以下这三个过程读取sed从输入流(文件、管道、标准输入)中读取一行内容原创 2020-12-26 16:12:37 · 1613 阅读 · 2 评论 -
Shell 脚本攻略--浅析正则表达式(多案例演示)
文章目录正则表达式概述基础正则表达式常见元字符扩展正则表达式元字符正则表达式匹配E-mail地址示例正则表达式概述通常用于判断语句中,用来检查某一 字符串是否满足某一格式正则表达式是由普通字符与元字符组成普通字符包括大小写字母、数字、标点符号及一些其他符号元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式基础正则表达式常见元字符支持的工具: grep、egrep、sed、awk常见元字符解释原创 2020-12-26 17:21:01 · 311 阅读 · 0 评论 -
Shell 脚本攻略--文本处理命令详解(sort、uniq、tr)
文章目录sort命令概述语法格式常用选项示例uniq命令概述语法格式常用选项示例tr命令概述语法格式常用选项参数示例sort命令概述sort 命令用于将文件内容进行排序,并将排序结果打印到标准输出它将文件的每一行文本视为一个单位,以行为单位对文件内容进行排序也可以根据不同的数据类型来排序语法格式sort [选项] [参数]cat [对象] | sort [选项]常用选项常用选项解释-f排序时,将小写字母视为大写字母(即忽略大小写),默认会将大写字母排在前面原创 2020-12-24 19:32:29 · 379 阅读 · 2 评论 -
Shell 脚本攻略--数组(排序)
文章目录一、定义数组二、数组的数据类型三、获取数组长度1.读取某索引复制2.遍历数组3.数组切片4.替换数组5.删除数组6.追加元素四、向函数传数组参数五、数组排序算法1.冒泡排序2.直接选择排序3.反转排序一、定义数组方法一:数组名=(value0 value1 value2 …)方法二:数组名=([0]=value [1]=value [2]=value …)方法三:列表名=“value0 value1 value2 …”数组名=($列表名)方法四:数组原创 2021-02-04 16:19:14 · 1406 阅读 · 1 评论 -
Shell脚本攻略--函数应用(返回值、传参、变量的作用范围、递归以及函数库)
文章目录一、概述二、格式定义三、函数返回值四、函数传参五、函数变量的作用范围六、递归1.阶乘科普演示2.递归目录七、创建函数库一、概述Shell函数也是我们经常使用的,因为有些命令序列是需要反复调用执行的,若每次使用同一命令就重复写一遍,就会导致代码量很大,行数特别多为解决该问题可以将命令序列按格式写一起,以便可以重复使用所以说,Shell函数的本质就是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可二、格式定义[function]是可选的,表示原创 2020-12-22 22:44:44 · 630 阅读 · 0 评论 -
Shell 脚本攻略--For多重循环练习(使用**符号输出各种图形)
文章目录一、9×9乘法守则二、正直角三角形方法一方法二三、倒直角三角形方法一方法二四、反方向的直角三角形正的反的延伸:平行四边形五、等腰三角形正反六、正梯形正反七、等腰梯形正反八、菱形一、9×9乘法守则[root@localhost opt]# vim 9981.sh #!/bin/bashc=0for ((a=1;a<=9;a++))do for ((b=1;b<=$a;b++)) do c=$[$a*$b]原创 2020-12-21 22:45:00 · 3803 阅读 · 4 评论 -
Sheel 脚本攻略--continue、break、echo 里常用的转义符、简易淘宝购物脚本
文章目录一、continue与break1.break和continue的区别以及作用2.break语句结构3.break应用示例4. continue语句结构5.continue应用示例二、常用转义符-echo1.概述2.练习三、留给你周末回家的大实验:写一个淘宝购物脚本1.需求2.操作一把一、continue与break1.break和continue的区别以及作用break和continue都是用来控制循环结构的,主要是停止循环break有时候我们想在某种条件出现的时候终止循环而不是等原创 2020-12-20 21:38:16 · 541 阅读 · 0 评论 -
Shell 脚本攻略--循环语句(for 循环、while 循环、until 循环)
文章目录一、for循环语句1.结构2.应用示例2.1 使用for批量添加用户2.2 根据IP地址列表检测主机状态2.3 经典!用循环语句计算数字1~100的总和2.4 提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和2.5 求从1到100所有整数的偶数和、奇数和(到用户所输入的数字为止)二、While循环语句1.结构2.应用示例2.1 批量添加规律编号的用户2.2 猜价格游戏2.3 提示用户输入一个小于100的整数,并计算从1到该数之间所有整数之和2.4 提示用户输入一个小于100的整数,原创 2020-12-20 21:12:06 · 1162 阅读 · 0 评论 -
Shell 脚本攻略--条件语句(条件测试、if、case)
文章目录前言一、条件测试1.测试命令-test2.文件测试3.整数值比较4.字符串比较5.逻辑测试二、if语句1.单分支语句2.双分支语句2.3 多分支语句三、case分支语句1.结构2.应用示例前言我们前面已经学习了编写比较简单的shell脚本:各语句按照顺序依次来执行,从而实现“批量处理”的自动化过程然而,这样比较“单一”的顺序结构写多了,你会不会觉得简单了点?这样,脚本过于机械化,像流水线一样,不够“智能”!那么,怎样才能从容的应对复杂的系统任务呢我们接下来去学习如何进行条件测试操作,并原创 2020-12-16 20:13:04 · 650 阅读 · 1 评论 -
Shell 脚本攻略--规范与变量
文章目录前言一、Shell脚本编程规范1.概念2.应用场景3.作用4.开始编写你的第一条shell脚本5.执行脚本文件的三种方法6.如何进一步完善的你脚本7.重定向与管道操作7.1 交互式硬件设备7.2 重定向操作7.3 管道操作二、深度解析Shell脚本变量1.作用及类型1.自定义变量1.1 定义新的变量1.2 查看和引用变量的值1.3 变量赋值的特殊操作1.4 从键盘输入内容为变量赋值-read1.5 设置变量的作用范围1.6 数制变量的运算2.特殊变量2.1 环境变量2.2 常用变量及如何查看2.3原创 2020-12-17 22:33:23 · 281 阅读 · 0 评论