shell

shell脚本换行问题实战记录

目录 1-脚本代码太长需要换行 2-echo输出给用户看的命令太长需要换行 3-read -p提取用户输入的时候提示太长需要换行 参考文档: 总结 在shell编程中遇到一些需要换行的情况,在这里记录一下,后续还有 1-脚本代码太长需要换行 这个情况是指我们某一些代码,或者指令需要输入的 »

shell参数换行与shell输出换行的方法实例

目录 1. shell 参数换行 2. echo打印换行的方法 补充:-read -p提取用户输入的时候提示太长需要换行 总结 1. shell 参数换行 Linux参数太长,一般可取续行符 ""进行参数换行/续行。反斜杠 后面紧跟回车,表示下一行是当前行的续行. 如下的代码所示 »

shell 提取文件名和目录名的方法实现

目录 一、使用变量操作符 ${} 1、${var##*/} 2、${var#*.}  3、${var%/*} 4、${var%%.*} 二、basename和dirname 1、basename 2、dirname 在写shell脚本中,经常会有需要对路径和文件名做处理。有时候犯不着用 »

shell Bash的数组与关联数组的实现

目录 一、一般数组 1.初始化 2.取 3.循环 二、关联数组 1.com 2.初始化 3.取 4.循环 一、一般数组 1.初始化 Bash Shell 只支持一维数组,不支持多维数组;不需要声明,初始化时直接用变量接,只要右边是括号,不需要定义数组大小。 与大部分编程语言类 »

使用 shell 脚本拼接 srt 字幕文件 (srtcat)

将多个 srt 文件拼接成一个,找了好多工具,都太重了,自己用 shell 手搓一个。一开始没觉得这个小工具有多么难,以为半天肯定能搞定,结果足足搞了三天。绊倒我的居然是时间字段的拆分和前导零的删除,看看 shell 里有多少种实现方案,以及我为何选择了当前的方案。 ... »

教你用100 行shell实现Docker详解

目录 引言 一、目的 二、技术拆解 2.1 Namespace 2.1.1 简介 2.1.2 Namespace相关系统调用 2.1.3 查看进程所属Namespace 2.1.4 相关命令及操作示例 2.2 Cgroup 2.2.1 简介 2.2.2 查看Cgroup信息 2.2.3 相 »

100 行 shell 写个 Docker

本文主要介绍使用shell实现一个简易的docker。 作者:vivo 互联网运维团队- Hou Dengfeng 本文主要介绍使用shell实现一个简易的Docker。 一、目的 在初接触Docker的时候,我们必须要了解的几个概念就是Cgroup、Namespace、RootFs »

vivotech

shell脚本批量执行指定路径下sql脚本的实现

目录 1. 场景描述 2. 创建sql 3. 创建脚本 3.1 方式一 3.2 方式二 1. 场景描述 Linux环境下通过shell脚本批量执行指定目录下所有sql语句,用来建表建库,初始化项目sql等。Linux shell在线格式化:https://tool.lu/shell/ »

Java执行shell命令的实现

目录 前言 一、案例 场景 原因 解决方案 二、拓展 三、总结 前言 java执行shell命令的方式有很多种,但是在应用的过程中,我们可能会遇上一些特殊的情况,导致执行脚本失败,不生效的场景。 一、案例 场景 java服务,如果需要服务自动重启。那么我们通过java执行 »

getopts解析shell脚本命令行参数的方法

getopts命令格式 getopts optstring name [arg] optstring为命令行所有选项组成的字符串,每个字母代表一个选项。如果字母后有冒号:,表明该选项需要选择参数。比如说,执行getopts时,匹配到了-i选项,则将-i相应的参数保存在内置变量OPTARG中。如 »

shell sleep睡眠命令的具体使用

目录 1. 背景 2. 简介 3. 语法 4. 与 wait 区别 5. 实例 5.1 设置警报 5.2 终端中的延迟命令 5.3 变量分配给 sleep 5.4 定义检查间隔 5.5 为操作完成留出时间 5.6 预测延迟 1. 背景 当用户在 Linux 中发出多个命令序列时,命令会 »

shell wait等待命令的具体使用

目录 1. 简介 2. 语法 3. 示例 3.1 等待命令 3.2 单进程等待 3.3 单进程 bash 等待 3.4 多个进程等待 3.5 多个进程 bash 等待 PID 1. 简介 bash wait 命令是一个 Shell 命令,它等待后台运行的进程完成并返回退出状态。与等待指 »

Shell[[]]检测某个条件是否成立

目录 [[ ]] 不需要注意某些细枝末节 [[ ]] 支持逻辑运算符 [[ ]] 支持正则表达式 总结 [[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立。 test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好;test 做不到的,[[ »

shell输出重定向的实现

1.输入输出重定向介绍 重定向简单来说就是把本来已经默认的、确定的输入输出给重新定位到你想要的地方。 重定向这个概念在C语言中就有,在C语言编程中,标准输出是屏幕,使用printf()函数默认是输出到屏幕显示。但是有时候我们需要将信息输出到文件或者申请的内存中,这时候就可以用sprintf()和f »

Shell脚本read用法实现

目录 1.概述 2. read从标准输入读取值 2.1 read选项 2.2 IFS 2.3 验证输入 2.4 菜单 1.概述 到目前为止,编写的脚本都缺少一个常用于大多数计算机程序的特性–交互性,或者说与用户互动的能力。尽管很多程序并不需要是交互式的,但能够直接接受用户输入,确实有利 »

shell耗时计算的实现

目录 Background 1、日期格式化 2、时间差计算 Background 我要吐槽下啊,网上相关经验很多,大多基于awk,但是我试了都不行,估计就是在哪看到的,自己也没测试,复制粘贴一篇文章,博风不古啊~这里记录下实现方式,以便后面查阅。 1、日期格式化 计算耗时前需要介绍下 »

shell 创建子进程及并行延时执行命令方法

目录 shell 创建子进程方法 1. 什么是shell子进程 2. shell什么情况下会产生子进程 3.使用括号来创建子进程 shell 创建子进程方法 1. 什么是shell子进程 子进程,是从父子进程的概念出发的,unix操作系统的进程从init进程开始(init进程为1,而进 »

Shell $[]对整数进行数学运算实现

和 (())、let 命令类似,$[] 也只能进行整数运算。 Shell $[] 的用法如下: $[表达式] $[] 会对表达式进行计算,并取得计算结果。如果表达式中包含了变量,那么你可以加$,也可以不加。 Shell $[] 举例: [c.biancheng.net]$ echo $ »

shell 安全脚本的实现

目录 题目: 1.初始配置 2.分析 3.编写脚本 4.测试 题目: 将密码输入错误超过4次的IP地址通过firewalld防火墙阻止访问 1.初始配置 首先使用systemctl工具启用firewalld服务: ​[root@localhost ~]# systemctl ena »