shell编程
文章平均质量分 68
givenchy_yzl
早安
午安
晚安
——一个不配拥有晚安的追梦人
展开
-
shell三剑客之awk详解
一、awk简介awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出屏幕),如果没有指定模式,则所有被操作所指定的行转载 2021-07-01 09:45:53 · 188 阅读 · 0 评论 -
shell编程之正则表达式详解
正则表达式1储备知识什么是正则表达式?正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式由元字符组成,通常被用来检索、替换那些符合某个模式(规则)的文本(许多程序设计语言都支持利用正则表达式进行字符串操作)为何要用正则表达式?正则表达式能够帮我们更好的定位文件中的内容,从而实现对其的增删改查等操作如何用正则表达式?正则表达式元字符: 由各种执行模式匹配操作的程序来解析,比如vi、grep原创 2021-06-23 12:19:50 · 525 阅读 · 0 评论 -
shell编程之sed命令
sed :stream Editor(流式文本编辑器)什么是sed?sed流式编辑器,一行行的处理命令,自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等为何用sed?sed 对比vim1、sed可以把处理文件的规则先写好,然后用同一套规则编辑多个文件而vim只能一个个编辑 ===》用一套规则处理多个文件2、 sed处理文件,一次只处理一行,及同一时间内存中只有文件的一行内容,所以无论文件多大,都不会对内存造成过大的压力 ====》用于处理大文件如何用sed?sed -原创 2021-06-22 10:29:37 · 411 阅读 · 0 评论 -
shell编程之grep
一、grepgrep命令主要用于过滤文本,grep家族如下grep: 在文件中全局查找指定的正则表达式,并打印所有包含该表达式的行egrep:扩展的egrep,支持更多的正则表达式元字符fgrep:固定grep(fixed grep),有时也被称作快速(fast grep),它按字面解释所有的字符原理及命令格式grep打开文件,每读一行,都用正则表达式去匹配一次,但凡匹配成功一次,该行就被过滤出来#命令格式grep [选项] PATTERN 文件1 文件2 ...[root@local原创 2021-06-21 16:36:58 · 1072 阅读 · 0 评论 -
shell编程之expect
一、expect一 expect介绍expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了expect就是一套用来实现自动交互功能的软件需要自行安装yum install -y expectexpect基础在使用expect时,基本上都是和以下四个命令打交道:命令作用spawn启动新的进程expect从进程接收字符串send用于向进程发送字符串interact允许用户交互spawn命令用来启动新的进程,spawn原创 2021-06-21 15:37:35 · 10908 阅读 · 0 评论 -
shell编程之信号控制
信号控制一 信号说明在脚本执行过程中, 可能会被一些键盘操作快捷方式所打断, 影响脚本运行# HUP(1): 1、挂起信号 2、往往可以让进程重新加载配置本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都 属于这个 Session。当用户退出Linux登录时,前台进程组和后转载 2021-06-19 10:40:12 · 249 阅读 · 0 评论 -
shell编程之数组详解
数组一 数组介绍什么是数组?数组就是一系列元素的集合,一个数组内可以存放多个元素为何要用数组?我们可以用数组将多个元素汇总到一起,避免单独定义的麻烦二 数组的使用2.1 数组的定义# 方式一:array=(元素1 元素2 元素3)array=(egon 18 male)# 方式二:array=([key1]=value1 [key2]=value2 [key3]=value3)array=([0]=111 [1]="two" [2]=333)# 方式三:依次赋值array_ne转载 2021-06-16 20:13:35 · 216 阅读 · 0 评论 -
shell编程之函数
函数一、函数介绍什么是函数???函数就是盛放代码的容器,函数内的一组代码完成一个特定的功能,称之为一组代码块,调用函数便可触发函数内代码块的运行,这可以实现代码的复用,所以函数又可以称之为一个工具为何要用函数?用函数解决下述问题1、代码组织结构不清晰、可读性差2、可扩展性差3、遇到重复的功能只能重复编写实现代码,代码冗余二、函数的使用具备某一功能的工具->函数事先准备工具的过程->函数的定义遇到应用场景直接拿来用即可 ->函数的调用所以函数的使用原则:先定义,后调原创 2021-06-16 19:39:43 · 264 阅读 · 0 评论 -
流程控制之while循环
流程控制之while循环一 语法# 一、while语句结构:条件为真时,执行循环体代码while 条件do 循环体done# 二、until语法结构:条件为假时,一直执行循环体代码,直到条件变为真until 条件do 循环体done简单示例[root@aliyun test]# cat a.sh #!/bin/bashx=0while (($x < 3))do echo $x let x++doneecho "===============转载 2021-06-16 16:51:27 · 83 阅读 · 0 评论 -
shell编程之元字符
元字符元字符指的是能够被shell解释的特殊字符,每个特殊字符都有其特殊含义,这些字符一方面可用于变量值的运算、我们可以称之为运算符,另外一方面可以和shell命令配合使用来达到更高级的效果一 算数运算符运算符+-*/%算数运算符需要配合下述操作使用# 浮点运算bc # 整数运算expr$(())$[]let详解如下1、bc是比较常用的linux计算工具了,而且支持浮点运算[root@localhost ~]# res=`echo 1+1 | bc`[root转载 2021-06-16 16:38:41 · 252 阅读 · 0 评论 -
shell编程之基本数据类型与值操作
基本数据类型与值操作一、数据类型介绍什么是数据?为何要有多种类型的数据?#数据即变量的值,如age=18,18则是我们保存的数据。#变量的是用来反映/保持事物状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识二、基本数据类型数字#int整型定义:age=10用于标识:年龄,等级,身份证号,qq号,个数#float浮点型定义:salary=3.1用于标识:工资,身高,体重字符串#在shell中,加了引号的字符就是字符串类型定义:name='yzl' 用转载 2021-06-15 16:44:56 · 518 阅读 · 0 评论 -
shell编程之变量
变量一 变量介绍什么是变量?量指的是记录事物的状态变指的是事物的状态是可以发生变化的变量本质就是一种数据存取的机制,变量的数据都是存放于内存中的为何要有变量?程序运行的本质就是一系列状态的变化,程序=数据+功能,程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。#比如:英雄的等级为1,打怪升级(变)为10僵尸的存活状态True,被植物打死了,于是变为False人的名字为egon,也可以修改为Ego原创 2021-06-15 15:07:01 · 143 阅读 · 2 评论 -
流程控制之if判断与case语句
流程控制之if判断一:单分支if语法:if 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ...fi# 上述语法可以用一行代码代替[ 条件信息 ] && xxx示例[root@egon test]# cat disk_monitor.sh #!/usr/bin/env bashdisk_use=$(df -P |grep '/$' |awk '{print $5}' |awk -F% '{print $1}')if [转载 2021-06-15 09:55:20 · 233 阅读 · 0 评论 -
流程控制之for循环、select语句
for循环一、语法#Shell风格语法for 变量名 [ in 取值列表 ]do 循环体done#C语言风格语法for ((初值;条件;步长))do 循环体doneshell风格的for,常用in列表方式for i in 1 2 3for i in {1,2,3}for i in {1..9}for i in {9..1}for i in {a..z}for i in {A..Z}for i in {X..Z}for i in $(命令) # 例如:for i转载 2021-06-10 19:13:27 · 484 阅读 · 0 评论 -
shell基础
shell基础储备知识什么是编程语言?能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。在编程的世界里,计算机更像是人的奴隶,人类编程的目的就命令奴隶去工作。为什么使用编程语言?计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的效果。 什么是编程?编程即程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果转载 2021-06-09 21:23:46 · 120 阅读 · 0 评论 -
shell编程入门(粗略版)
shell介绍什么是shell?shell一般代表两个层面的意思,一个是命令解释器(处于系统接口之上的一种程序),比如bash,另一个就是代表一种编程语言,用于操作Linux系统的一种编程语言。为何要用shell?shell是一种解释型的弱类型编程语言(对变量的类型划分没有那么的明确),他可以帮助我们更好的管理Linux操作系统,同时可以很方便得写一些简单的脚本程序如何用shell?运行shell程序有两种方式:1、交互式环境每敲一条立即执行一条,不能永久保存代码2、无交互环境把shel原创 2021-04-12 17:16:26 · 84 阅读 · 0 评论 -
shell中的if判断、while循环、for循环引论
一 流程控制之if判断1、什么是if判断依据条件的真假来决定是否做事2、为何要有if判断为了让计算机能够像人一样去做判断3、如何用(格式)if 条件1;then 代码1 代码2 代码3elif 条件2;then 代码1 代码2 代码3elif 条件3;then 代码1 代码2 代码3.......else 代码1 代码2 代码3fi案例1 #根据用户输入的年龄返回结果#!/bin/bashech原创 2021-04-13 21:02:14 · 174 阅读 · 0 评论