![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell编程
不甘平凡※
灵感不过是“顽强的劳动而获得的奖赏”
展开
-
防火墙基础实例(三)
需求描述:一、禁止主机ping服务二、只允许192.168.124.128主机访问ssh服务三、允许所有主机访问Apache服务1.规则制定(1)public禁止icmp服务,允许所有用户访问apache服务(2)work禁止icmp服务,只允许IP地址为192.168.124.128的主机进行ssh远程访问,同时也允许访问apache服务2.开启三台虚拟机,I...原创 2019-10-11 22:53:45 · 726 阅读 · 0 评论 -
Shell编程——自定义函数示例
便可使用的编写登录系统后便可使用的用户自定义函数脚本:#!/bin/bash#自定义函数service_index(){ echo "servicectl <servername> <start|stop|status|reload|restart>" return 1}service_version(){ grep "CentOS.*rel...原创 2019-09-29 13:00:50 · 224 阅读 · 0 评论 -
Shell编程三剑客(一)
一、正则表达式的定义正则表达式又称正规表达式、常规表达式。在代码中常简写为 regex、regexp或 RE。1.正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,简单来说, 是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。2.正则表达式是由普通字符与元字符组成的文字模式。模式用于描述在搜索文本时要匹配的一个或多个字符串。正则表...原创 2019-10-08 20:55:09 · 416 阅读 · 0 评论 -
扩展正则表达式——egrep
扩展正则表达式grep命令仅支持基础正则表达式,如果使用扩展正则表达式,需要使用 egrep 或 awk命令。这里我们直接使用 egrep命令。egrep命令与 grep命令的用法基本相似。egrep命令是一个搜索文件获得模式,使用该命令可以搜索文件中的任意字符串和符号,也可以搜索一个或多个文件的字符串,一个提示符可以是单个字符、一个字符串、一个字或一个句子。1.与基础正则...原创 2019-10-09 14:21:12 · 232 阅读 · 0 评论 -
Shell编程三剑客(二)
一、sed工具sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换、添加、移动等),最后输出所有行或者仅输出处理的某些行。sed也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于 Shell脚本中,用以完成各种自动化处理任务。二、sed 的工作流程主要包括读取、执行和显示三个过程1....原创 2019-10-09 16:36:05 · 203 阅读 · 0 评论 -
Shell编程之Expect免交互
1.Expect概述Expect是建立在Tcl语言基础上的一个工具,Expect是用来进行自动化控制和测试的工具。主要解决shell脚本中不可交互的问题。对于大规模的Linux运维很有帮助。在Linux运维和开发中,我们经常需要远程登录服务器进行操作,登陆的过程是一个交互的过程,可能会需要输入yes/no password 等信息。为了模拟这种输入,可以使用Expect脚本。2.Ex...原创 2019-10-10 15:55:35 · 449 阅读 · 0 评论 -
Shell编程三剑客(三)
awk工具在 Linux/UNIX系统中,awk是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于 Shell脚本,完成各种自动化配置任务。1.awk常见用法(1)awk所使用的命令格式如下所示:awk选项'模式或条件{编辑指令}'文件1...原创 2019-10-10 22:27:19 · 141 阅读 · 0 评论 -
文件排序工具(sort、uniq)
sort工具sort是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。例如数据和字符的牌局就不一样。sort命令的语法为“sort[选项]参数”,其中常用的选项包括以下几种:-f:忽略大小写; -b:忽略每行前面的空格; -M:按照月份进行排序; -n:按照数字进行排序; -r:反向排序; -u:等同于 uniq,表示相同的数据仅显示一行; -...原创 2019-10-10 22:52:21 · 1270 阅读 · 0 评论 -
Linux防火墙(二)
firewall-cmd 命令 1.启动、停止、查看 firewalld 服务 在安装 CentOS7 系统时,会自动安装 firewalld 和图形化工具 firewall-config。执行以下命令可以启动 firewalld 并设置为开机自启动状态。 [root@localhost ~]# systemctl start firewalld //启动 firew...原创 2019-10-11 19:26:19 · 1991 阅读 · 0 评论 -
Shell编程——Shell数组
1.应用场景包括(1)获取数组长度(2)获取元素长度(3)遍历元素(4)元素切片(5)元素替换(6)元素删除2.数组定义方法(1)方法一数组名= (value0 value1 value2 ...)(2)方法二数组名=([0]=value [1]=value [2]=value)(3)方法三列表名="value0 value1 valu...原创 2019-09-27 15:19:36 · 215 阅读 · 0 评论 -
Shell编程——商店购物示例
商店购物!!!脚本:[root@localhost ~]# vim demo03.sh#!/bin/bashi=1sum=0while [ $i -le 5 ]do echo "进入第$i家店" read -p "是否进入看看(yes/no)" doc while [ $doc = "yes" ] do echo "1:衣服¥200" echo ...原创 2019-09-26 17:10:33 · 397 阅读 · 1 评论 -
Shell编程之条件语句
一、条件测试操作1.test命令测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值格式1:test 条件表达式格式2:[条件表达式]2.文件测试格式:[操作符 文件或目录]文件测试常用的测试操作符 -d 测试是否为目录 -e 测试目录或文件是否存在 -f 测试是否为文件 -r 测试当前用户是否有权限读取...原创 2019-09-22 19:19:20 · 285 阅读 · 0 评论 -
Shell编程之嵌套判析示例
示例:比赛10内进入决赛(包含10秒),进入决赛后根据性别分男子组和女子组,否则被淘汰。1.编写脚本abc.sh#!/bin/bashread -p "请输入比赛时间:" secif [ $sec -le 10 ] then echo "恭喜,进入决赛!" read -p "请输入性别(男/女):" sex if [ $sex = "男" ] ...原创 2019-09-22 19:31:31 · 234 阅读 · 0 评论 -
Shell编程——实现九九乘法表的三种方法
方法一:运用for方法脚本:#!/bin/bashfor((i=1;i<=9;i++))dofor((j=1;j<=i;j++))dolet "s=i*j"echo -ne "$i"x"$j=$s\t"doneecho ""doneecho "end"方法二:运用while方法脚本:#!/bin/bashi=1;while((i<...原创 2019-09-22 21:58:53 · 3370 阅读 · 0 评论 -
Shell编程——打印实心直角/等腰三角形
一、输入层数并打印直角三角形脚本:#!/bin/bashread -p "输入层数:" nfor ((i=1;i<=$n;i++))do for ((j=1;j<=i;j++)) do echo -n "* " done echodone执行脚本:[root@localhost ~]# ./abc.sh 输入...原创 2019-09-22 23:38:37 · 2599 阅读 · 0 评论 -
Shell编程——打印空心/实心菱形
一、直接打印出菱行脚本:#!/bin/bash#!/bin/bashfor (( i=1;i<10;i++ ))do if [ $i -le 5 ] then for (( s=$(( 10-i ));s>i;s-- )) do echo -n " " done for (( m=1;m<=$((2*i-1)...原创 2019-09-23 13:18:05 · 3382 阅读 · 0 评论 -
Shell编程——打印四方形和平行四方形
一、打印四方形脚本:#!/bin/bashread -p "输入层数:" nfor ((i=1;i<=$n;i++))do for ((j=1;j<=$n;j++)) do echo -n "* " done echodone执行脚本:[root@localhost ~]# ./abc.sh 输入层数:6* ...原创 2019-09-23 15:12:35 · 425 阅读 · 0 评论 -
Shell编程——case语句与循环语句
一、使用case分支语句1.case语句的结构case 变量值 in模式 1) 命令序列 1 ;;模式 2) 命令序列 2 ;; ......*) 默认命令序列esac(1)case行尾必须为单词“in”,每一模式必须以右括号“)”结束。(2)双分号“;;”表示命令序列的结束。(3)模式字符串中,可...原创 2019-09-24 15:36:20 · 712 阅读 · 0 评论 -
Shell编程——Shell函数
Shell函数1.将命令序列按格写在一起2.可方便重复使用命令序列3.Shell函数定义[ function ] 函数名(){ 命令序列 [ return x ]}4.调用函数的方法函数名 [参数1][参数2]5.Shell函数应用示例(1)两个数字求和要求:通过sum(){}定义函数; ...原创 2019-09-26 16:52:45 · 259 阅读 · 0 评论 -
Shell编程规范与变量
Shell脚本概述一、概念1.将要执行的命令按顺序保存到一个文本文件2.给该文件可执行权限,便可运行3.可结合各种Shell控制语句以完成更复杂的操作二、应用场景1.重复性操作2.批量事务处理3.自动化运维4.服务运行状态监控5.定时任务执行三、Shall的作用——命令解释器,“翻译官”1.介于系统内核与用户之间,负责解释命令行四、Shell的作...原创 2019-09-21 00:09:09 · 206 阅读 · 0 评论