![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
shell
文章平均质量分 70
shell
Jerry00713
互联网时代,不更新自己注定被淘汰
展开
-
shell中使用for和while读取文件内容时候的区别
bin/bashIFS=$'\n'doecho $worddonemy firstname iswangleibut我的名字 是 忘王磊懂吗 我叫 wang 王磊这里的结果和cat文件的结果完全一致(空格和制表符完完整整的输出),请记住这点。默认情况下,shell会以空格、制表符、换行符作为分隔符,可以根据实际需求使用IFS来自定义shell的分隔符。IFS可以指定单个字符作为分隔符,IFS=:(以冒号作为分隔符);转载 2023-05-19 04:43:45 · 326 阅读 · 0 评论 -
ssh 批量停止 systemctl 服务
如下这样,双引号中的$name 还是会获取变量name的数值,而其他的都是常量,不会进行bash。a=b $a=123 因为shell 不能二次进行解析,使用eval。len=${#list_name[*]} # 数组的长度。name=${list_name[@]} # 列出所有的数组。原创 2023-04-24 15:21:43 · 262 阅读 · 0 评论 -
正则表达式 \b详解
这句话很隐晦的说出了是去匹配第一个字母,而不是去匹配分割符(我这说的匹配分隔符和上边说的不去匹配任何一个分隔符并不矛盾,因为我经过实验已经进本猜出了一个单词两边只要没有数字、字母、汉字、下划线就可以认为是独立单词,我说的匹配分隔符是去判断单词前一个字符是不是在这四个之外,是的话就认为是单词开头)从网上找到了这样一句话:“如果需要更精确的说法,\b匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在)\w(匹配字母或数字或下划线或汉字)”输出的结果为True 说明是匹配的a,而不是,转载 2023-02-24 10:45:35 · 4117 阅读 · 2 评论 -
shell脚本之sed详解 (sed命令 , sed -e , sed s/ new / old / ... )
(一)Sed是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。vi中的正则表达式命令在sed中大多可以通用。##sed常用选项-e script 指定sed编辑命令-f scriptfile 指定的文件中是sed编辑命令-n 寂静模式,抑制来自sed命令执行过程中的冗余输出信息,比如只显示那些被改变的行。-i[SUFFIX], –in-place[=SUFFIX] 替换和备份源文件edit files in place (makes backup if extension supplied)#转载 2022-06-10 16:17:58 · 10263 阅读 · 0 评论 -
linux三剑客sed之模式空间与保持空间
pattern space(模式空间)and hold space (保持空间)(H、h、G、g、x)模式空间:sed处理文本内容行的一个临时缓冲区,模式空间中的内容会主动打印到标准输出,并自动清空模式空间保持空间:sed处理文本内容行的另一个临时缓冲区,不同的是保持空间内容不会主动清空,也不会主动打印到标准输出,而是需要sed命令来进行处理模式空间与保持空间的关系模式空间:相当于流水线,文本行再模式空间中进行处理;保持空间:相当于仓库,在模式空间对数据进行处理时,可以把数据临时存储到转载 2022-03-31 11:21:11 · 1376 阅读 · 2 评论 -
Shell数组:Shell数组定义以及获取数组元素
1、和其他编程语言一样,Shell 也支持数组。数组(Array)是若干数据的集合,其中的每一份数据都称为元素(Element)。2、Shell 并且没有限制数组的大小,理论上可以存放无限量的数据。和C++、Java、C#等类似,Shell 数组元素的下标也是从 0 开始计数。3、获取数组中的元素要使用下标[ ],下标可以是一个整数,也可以是一个结果为整数的表达式;当然,下标必须大于等于 0。4、遗憾的是,常用的 Bash Shell 只支持一维数组,不支持多维数组。Shell 数组的定义..转载 2022-03-24 15:45:14 · 2870 阅读 · 0 评论 -
linux sort命令详解
sort 是 Linux 的排序命令,而且可以依据不同的数据类型来进行排序。sort 将文件的每一行作为一个单位,相互比较。比较原则是从首字符向后,依次按 ASCII 码值进行比较,最后将它们按升序输出常见的sort参数:-f:忽略大小写;-b:忽略每行前面的空白部分;-n:以数值型进行排序,默认使用字符串排序;-r: 反向排序, 默认是正序;-u:删除重复行。就是 uniq 命令;-t:指定分隔符,默认分隔符是制表符;-k [n,m]:按照指定的字段范围排序。从第 n 个字段开始,到第原创 2022-03-21 10:44:48 · 1453 阅读 · 0 评论 -
shell脚本编写:echo $[11#8+1] 输出结果是几
摘自:https://zhidao.baidu.com/question/334766451.html[root@localhost scripts]# echo $[11#8+1] #结果为99分析:$[] 在bash中同$(()),用于算术计算。11#8 是数制转换。举个例子 $[2#1011]最后得出11,#前面是进制数,#号后面是实际数值,通过$[]计算得出10进制的结果。即将2进制数1011转换为10进制数,得出11。再来看 $[11#8+1],将11进制的8转换...原创 2022-03-16 11:11:01 · 1144 阅读 · 0 评论 -
killall 杀死进程名提示(没有那个文件或目录)
一、killall简介与kill不同的是,killall可以根据进程名来杀死进程,不像kill,可能先需要使用ps(可以参考《ps命令实例详解》)找到进程id,然后发送信号,就像下面这样:[root@localhost ~]# ps -ef|grep helloroot 15530 6335 0 14:55 pts/4 00:00:00 ./hello[root@localhost ~]# kill -9 15530使用killall 接进程名,直接kill掉:原创 2022-03-16 10:19:04 · 4308 阅读 · 0 评论 -
echo命令详解 (一) 真的很详细
echo命令是linux中最基础的命令,也是很常用的命令,特别是在写shell脚本的时候,可能会经常被用到,虽然echo命令非常基础,但是功能还算丰富,此处对echo命令的常用方法进行总结,并给出示例,方便记忆与回顾。echo命令的基本用法,很简单,就是echo命令后面跟上要输出的文本,如下。除了基本用法,还可以配合一些选项使用echo -n 表示不换行输出可以看到,如果不添加-n选项,文本输出以后,指定换行了,而添加了-n选项以后,文本直接连着命令提示符输出了,并没有换行,这样转载 2022-03-15 17:57:03 · 56414 阅读 · 1 评论 -
shell -- expr命令
expr命令可以实现数值运算、数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能。它还具有几个特殊功能,判断变量或参数是否为整数、是否为空、是否为0等。注意:(1)所有操作符的两边,都需要有空格。错误:[root@localhost scripts]# expr 1+11+1[root@localhost scripts]# expr (1+1)-bash: 未预期的符号 `1+1' 附近有语法错误正确:[root@localhost scripts]# expr .转载 2022-03-15 15:37:59 · 2571 阅读 · 0 评论 -
shell条件判断if中的-a到-z的意思
1、shell条件判断if中的-a到-z的意思[ -a FILE ] 如果 FILE 存在则为真。[ -b FILE ] 如果 FILE 存在且是一个块文件则为真。块文件比如(/dev/sda1)[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。(不知道是个啥用)[ -d FILE ] 如果 FILE 存在且是一个目录则为真。[ -e FILE ] 如果 FILE 存在则为真。[ -f FILE ]如果 FILE 存在且是一个普通文件则为...原创 2022-03-10 16:29:25 · 6103 阅读 · 0 评论 -
Shell_第三章_(输出颜色、printf、环境变量、(位置参数、预定义)的变量、变量赋值)
1、echo输出颜色 echo -e "\033[31m 红色字 \033[0m" echo -e "\033[32m 绿色字 \033[0m" echo -e "\033[33m 黄色字 \033[0m" echo -e "\033[34m 蓝色字 \033[0m" 等等自信百度 作用:一般报错,加红色字,恒功加绿色字 2、Linux中printf格式化输出printf使用文本或者由空格分隔的参数,我们可以在printf中使用格式化字符串。printf不会写像ech原创 2022-01-25 14:25:13 · 1381 阅读 · 0 评论 -
Shell_第二章_( tee、逻辑关系、通配符、文件权限rwx、组、umask)
一、tee1、Linux tee命令用于tee前读取标准输入的数据,并将其内容输出成文件。[root@localhost ~]# cat 1.txt NIHAO helloNIHAO hello[root@localhost ~]# cat 1.txt |tee 2.txtNIHAO helloNIHAO hello[root@localhost ~]# cat 2.txt NIHAO helloNIHAO hello[root@localhost ~]# tee只管t原创 2022-01-24 11:55:17 · 911 阅读 · 0 评论 -
Shell_第一章_( alias、快捷键、bg,screen、重定向2>&1cat)
一、别名 alias1、查看Linux 别名列表[root@localhost ~]# aliasalias cp='cp -i'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l.='ls -d .* --color=auto'alias ll='ls -l --color=auto'alias ls='ls --color=aut原创 2022-01-12 14:04:10 · 492 阅读 · 0 评论 -
SHELL编程--检测pid变化
shell 脚本——检测pid变化i=1xunhuan(){while truedo kill -0 `pidof $name` >/dev/null 2>1$ if [ $? -eq 0 ];then if [ $i -eq 1 ];then echo "$name 进程正常,时间为"`date +'%...原创 2020-05-06 16:10:23 · 477 阅读 · 0 评论 -
Shell脚本(三剑客 sed、awk、grep 案例)
1、删除和替换文件中某一行的方法介绍:sed 、grep 、awksed:本身是一个管道命令,主要以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定作常用选项:-n∶使用sed 都会被列出到萤幕上,查询特定的内容会出现重复。但如果加上 -n 参数后,则只有经过sed 特殊处理的那 一行(或者动作)才会被列出来。[root@localhost home]# sed '/HWADDR/p' b.txt TYPE=Eth...原创 2020-08-25 10:17:08 · 602 阅读 · 0 评论 -
SHELL编程--监控进程pid句柄数变化并输出到日志中
多实例进程名字用AABB代替单实例进程名字用AB输出到/server/s.txt#/bin/bash#获取AABB进程名字#获取ps-ef |grep AABB一共有几行str=`ps -ef |grep AABB |grep -v 'colo' |awk '{print $2,$2,$(NF-1),$(NF)}' |awk '{print NR}' |tail -n1`date "+%Y-%m-%d %H:%M" >>/server/s.txt#i取值从1到原创 2020-06-10 09:02:14 · 633 阅读 · 0 评论 -
正则表达式
区分(* . .* + ):* 重复零次或者更多次,而且前面必须带参数,是什么重复例子:直接打*,无任何查询,因为前面必须带参数z例子:\d是匹配数字,\d*是匹配多个数字,为什么是重复零次或者更多次,这个零次,在无任何匹配上的时候,也输出,输出为空+重复一次或者更多次,而且前面必须带参数,是什么重复例子:直接打+,无任何查询,因为前面必须带参数例子:\d是匹配数字,\d+是匹配多个数字,但是必须有数字开头,才能算。所以那些没有数字开头的,都...原创 2021-07-19 20:48:23 · 1006 阅读 · 0 评论