synchronization
Some checks failed
continuous-integration/drone Build is failing

This commit is contained in:
2025-08-25 15:57:40 +08:00
commit cee91802b3
106 changed files with 9124 additions and 0 deletions

113
Shell/README.md Normal file
View File

@@ -0,0 +1,113 @@
> 本文作者:丁辉
# 引用外部函数脚本
## 使用
**SHELL 脚本内加入**
```bash
#!/bin/bash
# 加载检测脚本
source <(curl -sS https://gitee.com/offends/Linux/raw/main/File/Shell/Check_command.sh)
```
## 函数介绍
| 函数 | 介绍 | 用法 |
| :--------------------: | :----------------------------------------------------------: | :------------------------------: |
| SEND_INFO | 输出绿色字体INFO信息 | SEND_INFO "你好" |
| SEND_WARN | 输出黄色字体WARN信息 | SEND_WARN "你好" |
| SEND_ERROR | 输出红色字体ERROR信息 | SEND_ERROR "你好" |
| GREEN_PRINTF | print输出绿色字体 | GREEN_PRINTF "你好" |
| FUNC_PRINT_SYSTEM_INFO | 打印系统信息(包含: 系统版本、内核版本、内存大小、处理器核数、处理器型号) | FUNC_PRINT_SYSTEM_INFO |
| CHECK_NETWORK | 检查服务器网络连接(没网则退出) | CHECK_NETWORK |
| CHECK_FILE | 检测文件是否存在 | CHECK_FILE "./demo.sh" |
| CHECK_FILES | 检测文件是否存在(多文件情况) | CHECK_FILES "all-*.rpm" |
| CHECK_DIR | 检测目录是否存在,不存在则创建 | CHECK_DIR "/root/demo" |
| CHECK_BIN | 检测固定位置的二进制文件是否存在(~禁用) | CHECK_BIN "/root/dmeo" |
| CHECK_COMMAND_TRUE | 检测命令是否执行正确,正确则输出$1,错误则输出$2并退出脚本 | CHECK_COMMAND_TRUE "正确" "错误" |
| CHECK_USER | 判断用户是否存在,不存在则创建 | CHECK_USER docker |
| CHECK_GROUP | 判断用户组是否存在,不存在则创建 | CHECK_GROUP docker |
| ADD_USER_GROUP | 用户加入组 | ADD_USER_GROUP docker docker |
| NULL_TRUE | 定义输出为空,并且失败不会退出脚本 | NULL_TRUE ls |
| NULL_TRUE_ECHO | 失败不会退出脚本,输出命令执行结果 | NULL_TRUE_ECHO ls |
| CHECK_COMMAND_NULL | 检测命令是否执行成功,不输出命令执行结果 | CHECK_COMMAND_NULL ls |
| CHECK_COMMAND_ECHO | 检测命令是否执行成功,输出命令执行结果 | CHECK_COMMAND_ECHO ls |
| CHECK_INSTALL | 检测网络安装软件(支持多参数) | CHECK_INSTALL wget git |
| CHECK_SYSTEMD | 检测某个systemd服务是否存在,不存在则退出 | CHECK_SYSTEMD docker |
## 其他参数
- **CHECK_CPU**
**用法**
```bash
#!/bin/bash
CHECK_CPU
```
**变量定义**
> 脚本会自动检测系统架构,并输出变量
>
> 例:
>
> 解释: 如果系统架构为 x86_64 则脚本会给 ARCH_TYPE_1 赋值为 x86_64,这时你可以直接引用 ARCH_TYPE_1 作为下载参数等动态变量
| 变量 | 参数 |
| :---------: | :---------------: |
| ARCH_TYPE_1 | x86_64 或 aarch64 |
| ARCH_TYPE_2 | amd64 或 arm64 |
- **CHECK_OS**
**检查服务器系统版本**
> OS 会被脚本赋值为系统版本,OS_VERSION 会被脚本赋值为系统大版本号
- **CHECK_CORE**
> 内核检测脚本
配置一键默认升级
```bash
CHECK_CORE ALL_DEFAULT_YES=1
```
- 内核升级
[内核升级脚本](https://gitee.com/offends/Linux/blob/main/File/Shell/Core.sh)
- 在线升级
执行脚本
```bash
./Core.sh
```
> 配置一键默认升级
>
> ```bash
> export ALL_DEFAULT_YES=1
> ```
- 离线包打包
[离线打包脚本](https://gitee.com/offends/Linux/blob/main/File/Shell/Build_Core_Tar.sh)
> 脚本为: Build_Core_Tar.sh
**参数**
| 参数 | 解释 | 用法 |
| :-----: | :-------------------: | :-------------------------: |
| Centos7 | 打包Centos7内核离线包 | ./Build_Core_Tar.sh Centos7 |
| Centos8 | 打包Centos8内核离线包 | ./Build_Core_Tar.sh Centos8 |
| Ubuntu | 打包Centos8内核离线包 | ./Build_Core_Tar.sh Ubuntu |