Files
Linux/Shell/README.md
offends cee91802b3
Some checks failed
continuous-integration/drone Build is failing
synchronization
2025-08-25 15:57:40 +08:00

4.8 KiB

本文作者:丁辉

引用外部函数脚本

使用

SHELL 脚本内加入

#!/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

    用法

    #!/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

    内核检测脚本

    配置一键默认升级

    CHECK_CORE ALL_DEFAULT_YES=1
    
  • 内核升级

    内核升级脚本

    • 在线升级

      执行脚本

      ./Core.sh
      

      配置一键默认升级

      export ALL_DEFAULT_YES=1
      
    • 离线包打包

      离线打包脚本

      脚本为: 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