![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell脚本
文章平均质量分 68
shell脚本基础
陆墨宁
希望早日过上随遇而安的生活
展开
-
Linux中正则表达式等
:alnum:]] \S #匹配任何非空白字符。等价于 [ \f\n\r\t\v]。也就是由一些特殊字符组成的特定格式的内容,用来匹配文件当中的内容。-m 数字:匹配几次之后停止,按行匹配,不是按字符个数,例如。[:alnum:]] \W #匹配非单词构成部分,等价于[^\ +:匹配前面出现的字符最少一次,最多任意次。-c:统计连续重复出现的行的次数,并且合并重复的行,并展示。\ {n,m\ }:表示前面的字符最少有n次,最多有m次。\ {,n\ }:表示前面的字符,最多有n次,0次也算。原创 2023-10-31 09:40:27 · 464 阅读 · 2 评论 -
shell脚本的awk续篇
us 表示用户空间占用 CPU 百分比,sy 表示内核空间占用 CPU 百分比 [root@localhost network-scripts]# sum=$(top -b -n 1 | grep -w st |awk '{print $2+$4}') [root@localhost network-scripts]# echo $sum 3.1。题目五:统计/etc下文件总大小 ls -l /etc | awk '/^-/{sum+=$5} END{print "文件总大小:"sum/1024"M"}'原创 2023-11-07 10:26:10 · 68 阅读 · 0 评论 -
shell脚本的数组
取数组当中某一段元素的值:echo ¥{test[*]:这是从第几个开始的下标:这是取多少个值}永久替换:arr=(${arr[*]/4/66}) 或test[3]=44。两个相邻的元素进行比较,大的要向后,小的向前。数组的作用:可以一次性的定义多个变量,数组的长度是不限的。0 1 2 #是数组的下标,下标索引都是从0开始的。索引下标是从0开始,0对应数组当中的第一个元素。获取数组的长度:echo ${#test[*]}或者test[${#test[*]}]=7。追加元素:在原有的基础上,追加新的元素。原创 2023-10-29 20:35:23 · 86 阅读 · 0 评论 -
shell脚本函数
函数库:函数库,在库当中只包含定义的函数,由另外一个脚本来调用函数库当中的代码,执行结果。变量获取返回值,只会返回最后一条命令的状态码。在shell脚本中,reture还是用来判断函数的退出状态码,0是成功,非零表示失败。函数可以将大的工程分割为诺干小的功能模块,可以随时调用,代码的可读性更强。函数变量的作用范围:在函数中全局变量,也有临时变量(只能在函数内部使用)脚本里面是不是有函数,有函数调用才叫会写代码,否则就是小白。2、可以方便的重复使用的命令序列。funcation 函数名{原创 2023-10-29 20:34:48 · 99 阅读 · 0 评论 -
正则表达式续篇
e:指定命令来处理输入的文本文件,只有一个操作命令,-e可以不写,一般都是执行多个操作命令-e。\原创 2023-11-01 09:30:37 · 320 阅读 · 1 评论 -
sed续与awk
格式是:sed -n 's/需要替换的原内容/替换后的内容/(ps:数字是替换每行中的第几个,g代表是全内容替换)p' 替换的文件地址。awk的默认分割符是空格或者tab键,但是多个空格,多个tab键,他会自动压缩成一个。它最强大的功能是,awk本身是一个开发工具,内置有代码,用法和Java类似。sed的最大功能是增和改,但是增删改查都可以,对文本内容按行进行增删改查。它可以区分大小写,可以模糊匹配,可以精确匹配。r:匹配内容的之后添加。awk:是一个强大的文本编辑工具,逐行读取文件内容,然后输出结果。原创 2023-11-07 10:11:21 · 88 阅读 · 0 评论 -
免交互的基本应用
expect:建立在tcl语言基础上的一个工具,用于自动化控制和测试,主要用来解决shell当中的交互问题。交互是:计算机播放器,需要放视频,我发出指令,计算机执行指令,做出相应的动作。send 向进程发送字符串,模拟用户的输入send不能自动换行,一般后面要跟上\r或\n。1.标记名称可以自定义,但是必须要是合法字符(字母开头,后面跟数字,不要用特殊符合)可以接受从bash的命令行传入的参数,类似与位置变量的格式。expect捕获想要的内容,匹配输入字段。3.结尾的标记后面也不能有任何字符,包括空格。原创 2023-11-07 10:32:41 · 73 阅读 · 0 评论 -
shell脚本中循环语句
第一种:continue:跳出循环,表示满足条件时跳出循环,但是不影响后续循环的继续执行。循环:重复执行一段代码的结构,通过循环,可以在满足一定的条件情况下,多次的执行相同的代码。循环包括:循环体以及循环条件,当循环条件满足,循环体将一直被执行,直到循环条件不满足为止。第二种:break:跳出循环,满足条件直接跳出循环,后续的循环条件也不在执行。continue: 跳出循环,但是如果后续有循环条件,他会继续执行后续的循环。2.双层:外循环控制整个循环的次数,而且外循环执行的是行,内循环执行的是列。原创 2023-10-25 11:19:02 · 109 阅读 · 0 评论 -
shell语句中循环练习
while在循环条件满足的情况下才会执行,一旦条件不满足立刻停止。until 判断条件成立时,终止循环,只有条件不成立才会进行循环。for循环和while在绝大多数情况下可以通用。2.需要主动结束循环或者达到条件才会终止循环。until 【 条件测试操作 】while[ 判断条件 ]1.不知道循环次数的场景。原创 2023-10-29 20:32:35 · 104 阅读 · 0 评论 -
Linux的shell
Shell:介于用户和内核之间,充当翻译官的作用,当用户执行相关的命令,shell会把指令二进制传给内核,内核处理完毕以后通过shell把内核的执行结果,转换成人类能够识别的语言。Source:这是点命令,也就是符号,是bash的内部命令,重新执行刚修改完的初始化文件,可以让命令在配置文件中立刻生效,无须重启。一般来说,我们自定义变量可能需要根据条件时常修改,以满足不同的条件,一旦作为全局变量,引用的值或者参数不需要变的。Source:执行,执行脚本中的命令,脚本当中的代码会被真正的执行,展示真正的结果。原创 2023-10-22 08:58:50 · 869 阅读 · 0 评论 -
shell脚本条件语句
[条件表达式]] 双中括号的写法比单中括号的功能更加强大,可以避免歧义的出现,而且双中括号可以支持正则表达式。其他所有的非0 都是假, false,执行失败。7、写出计算14+162*5/2+3的shell脚本计算格式,并赋值给变量num。:上一次命令或者脚本执行之后的状态码,所有非0都是异常 只有0才表示执行成功。:条件判断,失败或者成功,真或者假,true false。例如 [ $a -lt 3 -a $a -eq 5] 或者。``执行里面的命令,把命令的执行结果赋值给变量。原创 2023-10-24 14:11:37 · 88 阅读 · 0 评论