Shell脚本
文章平均质量分 94
yu.deqiang
只有启程,才会达到理想和目的地。
展开
-
shell 之 免交互编程(expect用法)
建立在tcl语言基础上的一个工具,常被用于进行自动化控制和测试,解决shell脚本中交互相关的问题。expect 的执行过程1、环境安装expect它是一个程序,所以需要进行安装,才能使用2、基本命令2.1 脚本解释器expect脚本中首先引入文件,表明使用的是哪一个shell2.2 spawn(跟踪)spawn后面通常跟一个Linux执行命令,表示开启一个会话,启动进程,并跟踪后续交互信息2.3 expect (捕捉)判断上次输出结果中是否包含指定的字符串,如果有则立即返回,否则就等待超原创 2022-07-11 01:05:21 · 1918 阅读 · 0 评论 -
shell之三剑客awk(基础用法)
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描,过滤,统计汇总等工作,数据可以来自标准输入也可以是管道或文件。当读到第一行时,匹配条件,然后执行指定动作,在接着读取第二行数据处理,不会默认输出。如果没有定义匹配条件,则是默认匹配所有数据行,awk隐含循环,条件匹配多少次,动作就会执行多少次。逐行读取文本,默认以空格或tab键为分割符进行分割,将分割所得的各个字段,保存到内建变量中,并按模式或或条件执行编辑命令。与sed工作原理相比:s原创 2022-07-11 01:00:44 · 39500 阅读 · 3 评论 -
shell之三剑客sed命令
sed(stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换,添加、移动等),最后输出所有行或仅输出处理的某些行。sed也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于shell脚本中,用以完成各种自动化处理任务。sed的工作流程主要包括读取、执行和显示三个过程在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。注意:默认情况下所有的sed命令,都是在模式空间内执行的,因此输入的文件并不会发生变化。原创 2022-07-11 00:52:20 · 2044 阅读 · 0 评论 -
shell之正则表达式及三剑客grep命令
什么是正则表达式?正则表达式是一种描述字符串匹配规则的重要工具正则表达式,又称正规表达式、常规表达式正则表达式正则表达式的层次分类Linux三剑客(grep、sed、awk)支持的正则表达式基础正则表达式是常用的正则表达式部分\ : 表示转义字符,去掉特殊符号的特殊含义\n : 匹配换行符\t : 匹配制表符\w : 匹配单词字符(单词字符:a-z,A-Z,0-9,_ )\W : 匹配非单词字符\S : 匹配非空白字符\s : 匹配空白字符\d : 匹配数字\D : 匹配非数字原创 2022-07-11 00:39:22 · 888 阅读 · 0 评论 -
shell之常用工具(cut、sort、uniq、tr)
cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定file 参数,cut命令将读取标准输入。必须指定 -b(字节) 、-c(字符) 或 -f(第几列) 标志之一。字符和字节的区别选项功能-b按字节截取-c按字符截取,常用于中文-d指定以什么为分割符截取,默认为制表符-f通常和-d一起使用(表示截取第几列)3、案例演示案例1:截取/etc/passwd 文件的中root用户的第7列(-d -f)案例2:原创 2022-07-11 00:32:44 · 1944 阅读 · 0 评论 -
shell之函数和数组(案例分析)
函数的定义函数定义完之后并不会自动执行,需要调用才行,好处在于可以写一段功能代码作为函数,有需要就直接调用。定义的时候哪怕出现语法错误也没关系,不调用就不会报错,当然我们写函数最终目的还是为了调用,为了实现某个功能块。函数的返回值return表示退出函数并返回一个退出值,脚本中可以用$?变量显示该值使用原则:直接在脚本里定义函数的代码块写函数名即可完成调用注意:函数名必须是唯一的,如果先定义了一个,再用同样的名称定义第二个,那么第二个会覆盖第一个的功能,所以这里一定要注意不要重名!注意:调用函数之前,必原创 2022-07-04 22:09:51 · 472 阅读 · 0 评论 -
shell之循环语句(for、while、until)
在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的 对象不一样,其他命令相同。for语句的执行流程for循环基础演示1for循环基础演示2基础小技巧花括号{}和seq在for循环的应用2、案例操作演示1.1 计算整 数和用户随机输入一个小于100的整数,并计算从1到该数所有整数的和让用户随意输出一组数字,列出该数字内的奇偶数批量创建用户批量删除用户让一个用户进行输入密码验证,输入错误重新输入,最多只能输入三次,输入正确即可进入定义一个抽奖池,在里面随机选原创 2022-07-01 17:22:29 · 794 阅读 · 0 评论 -
shell之条件语句(条件测试、if语句,case语句)
文件测试指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否,可读、可写、可执行等,文件测试的常见操作选项如下,使用时将测试对象放在操作选项之后即可。执行条件测试操作以后,通过预定义变量 ( $? )可以获得测试命令的返回值,而判断该条件是否成立。例1:test的用法例2:[ ]中括号的用法整数值比较指的是根据给定的两个整数值,判断第一个数与第二个数的关系,如是否大于、等于、小于第二个数。整数值比较的常用操作选项如下,使用时将操作选项发放在要比较的两个整数之间,中间空...原创 2022-07-01 16:02:09 · 786 阅读 · 0 评论 -
Shell之基础概念和变量
Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈个用户,这种对话方式可是交互也可是非交互的,我们所输入的命令计算机是不是别的,这是就需要一种程序来帮助我们进行翻译,编号才能计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。linux系统中的shell是一个特殊的应用程序,它介于 操作系统和用户的之间,充当一个”命令解释器“的角色,负责输入的操作指令,并进行解释,将需要执行的操作传递给内核执行,原创 2022-07-01 15:45:16 · 663 阅读 · 0 评论