[转帖]shell脚本字符串截取的8种方法

https://www.cnblogs.com/zwgblog/p/6031256.html 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 1 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*//

[转帖]Shell编程之免交互

目录 交互的概念与Linux中的运用Here Document 免交互tee命令重定向输出加标准输出支持变量替换多行注释Expect实例操作免交互预设值修改用户密码创建用户并设置密码实现 ssh 自动登录 交互的概念与Linux中的运用 交互:当计算机播放某多媒体程序的时候,编程人员可以发出指令控制

[转帖]shell 把以空格分隔的变量 分割后的每个字段赋值给变量

比如我有一个变量 “123 456 789”,要求以空格为分隔符把这个变量分隔,并把分隔后的字段分别赋值给变量,即a=123;b=456;c=789 共有3中方法: 法一:先定义一个数组,然后把分隔出来的字段赋值给数组中的每一个元素 法二:通过eval+赋值的方式 法三:通过多次awk把每个字段赋值

[转帖]Shell三剑客之sed

目录 Shell三剑客sed工具sed 流编辑器的工作过程sed命令格式与选项操作符sed命令的常用选项sed命令的打印功能默认打印方式sed命令的寻址打印文本模式过滤行内容 sed的删除操作通过行号进行删除匹配字符串内容删除字符串搭配正则进行删除删除空行的三种方法 sed命令替换符进行大小写的替换

[转帖]Shell脚本数组(实现冒泡排序,直接选择排序,反转排序)

目录 数组数组定义方法数组包括的数据类型获取数组长度读取某下标赋值 数组遍历数组切片数组替换删除数组追加数组中的元素从函数返回数组加法传参运算乘法传参运算 数组排序算法冒泡排序直接选择排序反转排序 数组 数组中可以存放多个值(bash 只支持一维数组)数组元素的索引从0开始数组在括号内指定数组的值,

[转帖]Shell三剑客之awk

目录 awk简述awk的工作过程awk的工作原理awk的基本格式及其内置变量getline文本内容匹配过滤打印对字段进行处理打印条件判断打印awk的三元表达式与精准筛选用法awk的精准筛选:awk的分隔符用法指定输出的分隔符awk结合数组运用面试题 awk简述 在 Linux/UNIX 系统中,aw

[转帖]Shell 判断文件或文件夹是否存在(不存在则创建)

目录 1. 文件夹不存在创建文件夹 2. 判断文件夹是否存在 3. 判断文件是否存在 4. 常用的文件比较符 1. 文件夹不存在创建文件夹 if [ ! -d "/data/" ];then mkdir /dataelse echo "文件夹已经存在"fi 2. 判断文件夹是否存在 if [ -d

[转帖]Shell if 条件判断

Shell 语言中的if条件 一、if的基本语法: if [ command ];then 符合该条件执行的语句 elif [ command ];then 符合该条件执行的语句 else 符合该条件执行的语句 fi 二、文件/文件夹(目录)判断 [ -b FILE ] 如果 FILE 存在且是一个

[转帖]Shell编程之函数

目录 Shell函数使用Shell函数的优点 Shell 函数定义使用原则函数传参函数变量的作用范围 函数递归阶乘递归目录函数库 Shell函数 将命令序列按格式写在一起可方便重复使用命令序列Shell函数定义 调用函数的方法 使用Shell函数的优点 使用函数可以避免代码重复使用函数可以将大的工程

[转帖]Shell编程之正则表达式与文本处理器(grep、sort、uniq、tr、cut)

目录 正则表达式概念正则表达式的作用元字符grep命令在文本中查找指定的字符串sort命令排序uniq命令快捷去重tr命令替换、压缩和删除cut命令快速裁剪命令expr substr 截取方法cut截取方法 split命令文件拆分paste命令文件合并eval变量扫描器位置锚定分组或其他扩展正则表达

[转帖]shell编程之循环语句

目录 一、循环语句for循环for语句的结构嵌套循环 while语句的结构while语句应用示例 until语句的结构until语句示例 二、跳出循环continue跳出循环break跳出循环 三、常用循环脚本实例循环打印9*9乘法表数字累加脚本(1-100)常用转义字符购物shell 计算器正等腰

SHA-256 简介及 C# 和 js 实现【加密知多少系列_5】

本文首先简单介绍了 SHA-256 的特点,然后再通过两种实现进行了实践,提供的实现代码均已经过验证。

vue3 | shallowReactive 、shallowRef、triggerRef

shallowReactive 使用 reactive 声明的变量为递归监听,使用 shallowReactive 声明的变量为非递归监听(通俗的讲就是 reactive 创建的对象将会被 vue 内部进行递归监听,可以监听到对象中的对象是否发生了改变从而更新视图,而 shallowReactive

100 行 shell 写个 Docker

本文主要介绍使用shell实现一个简易的docker。

1.10 内存ShellCode注入与格式化

ShellCode 的格式化与注入功能在实战应用中也尤为重要,格式化`Shellcode`是指将其转换为可执行的二进制格式,使其能够在内存中运行。注入`Shellcode`是指将格式化的`Shellcode`注入到另一个进程的内存中,以便在该进程中执行,此类功能也可算作`ShellCode`技术的延申功能。

【Java】Java中的零拷贝

物理内存 计算机物理内存条的容量,比如我们买电脑会关注内存大小有多少G,这个容量就是计算机的物理内存。 虚拟内存 操作系统为每个进程分配了独立的虚拟地址空间,也就是虚拟内存,虚拟地址空间又分为用户空间和内核空间,操作系统的位数不同,虚拟地址空间的大小也不同,32位操作系统虚拟地址内核空间为1G,用户

【RocketMQ】【源码】主从同步实现原理

主从同步的实现逻辑主要在`HAService`中,在`DefaultMessageStore`的构造函数中,对`HAService`进行了实例化,并在start方法中,启动了`HAService`: ```java public class DefaultMessageStore implement

【RocketMQ】【源码】负载均衡源码分析

RocketMQ在集群模式下,同一个消费组内,一个消息队列同一时间只能分配给组内的某一个消费者,也就是一条消息只能被组内的一个消费者进行消费,为了合理的对消息队列进行分配,于是就有了负载均衡。 ![img](https://img2022.cnblogs.com/blog/2612945/20220

【RocketMQ】【源码】Dledger日志复制源码分析

消息存储 在 【RocketMQ】消息的存储一文中提到,Broker收到消息后会调用CommitLog的asyncPutMessage方法写入消息,在DLedger模式下使用的是DLedgerCommitLog,进入asyncPutMessages方法,主要处理逻辑如下: 调用serialize方法

机械硬盘与固态硬盘的适用场景

之前一直以为固态硬盘各方面都比机械硬盘性能高,所以首选固态硬盘,直到看了极客时间-深入浅出计算机组成原理中硬盘相关章节的内容,才发现固态硬盘原来是有缺点的,所以这里来做一个总结。 机械硬盘(HDD) 机械硬盘由以下几个部分组成: 盘面:盘面(盘片)上有一层磁性涂层,数据就是存储在这个磁性的涂层上,一