每日shell脚本之超级整合程序3.0

每日shell脚本之超级整合程序3.0

本期带来之前的升级版2.0整合脚本程序,学习工作小利器,同时模块化构建方便二次开发。

上图

在这里插入图片描述

上源码

#!/usr/bin/bash
# *******************************************#
# * CDDN          : M乔木                    #
# * qq邮箱        : 2776617348@qq.com        #
# * 创建时间      : 2023-12-29 11:40:59      #
# * 解释器        : 这是一个shell脚本         #
# ******************************************#

#声明函数
function make_ZBA() {
    clear
    echo "开始部署Agent..."
    sleep 1
    read -p "请输入Server端服务器IP:" AG_IP

    rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm &>/dev/null

    yum clean all &>/dev/null && yum makecache fast &>/dev/null

    yum -y install zabbix-agent &>/dev/null

    sed -i '/^Server=127.0.0.1/d' /etc/zabbix/zabbix_agentd.conf
    echo "Server=${AG_IP}" >>/etc/zabbix/zabbix_agentd.conf

    sed -i '/^ServerActive=127.0.0.1/d' /etc/zabbix/zabbix_agentd.conf
    echo "ServerActive=${AG_IP}" >>/etc/zabbix/zabbix_agentd.conf

    agent_H=$(hostname)
    sed -i '/^Hostname=Zabbix server/d' /etc/zabbix/zabbix_agentd.conf
    echo "Hostname=${agent_H}" >>/etc/zabbix/zabbix_agentd.conf

    echo 'zabbix  ALL=(ALL)  NOPASSWD: ALL' >>/etc/sudoers

    echo 'EnableRemoteCommands=1' >>/etc/zabbix/zabbix_agentd.conf
    echo 'LogRemoteCommands=1' >>/etc/zabbix/zabbix_agentd.conf

    systemctl restart zabbix-agent &>/dev/null

    systemctl enable zabbix-agent &>/dev/null

    echo "Agent端已部署完成!Server端为:${AG_IP}"
}
function make_ZBS() {
    #环境检测
    clear
    echo "--------------------------------------------------------"
    echo "[1]开始检测防火墙Selinux..."
    f_w=$(systemctl status firewalld | awk '/Active:/{print $2}')
    s_l=$(getenforce)
    #判断是否关闭 没关闭就结束运行
    if [ ${f_w} = "inactive" -a ${s_l} = "Disabled" ]; then
        echo "[2]防火墙SeLinux已关闭..."
        sleep 1
        echo "[3]正在飞速安装zabbix中..."
        sleep 1
    else
        echo "[2]防火墙SeLinux未关闭..."
        systemctl disable firewalld &>/dev/null
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
        sleep 1
        echo "[3]正在关闭..."
        sleep 1
        echo "[4]防火墙SeLinux已关闭 请重启机器生效..."
        echo "--------------------------------------------------------"
        exit 0
    fi
    #安装zabbix源
    rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm &>/dev/null
    #安装数据库并清理缓存
    echo '[4]准备安装数据库,全程20秒左右,请耐心等待...'
    sleep 1
    echo '[5]开始清理环境...'
    yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y &>/dev/null
    userdel -r mysql &>/dev/null
    rm -rf /etc/my* &>/dev/null
    rm -rf /var/lib/mysql &>/dev/null
    rm -rf /usr/bin/mysql &>/dev/null
    yum -y erase $(rpm -qa | egrep "mysql|mariadb") &>/dev/null

    echo '[6]正在下载mysqlyum源...'
    yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm &>/dev/null

    echo '[7]正在安装mysql...'
    yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community &>/dev/null
    yum -y groupinstall "Development Tools" &>/dev/null

    echo '[8]正在配置mysql...'
    yum -y install yum-utils &>/dev/null
    yum-config-manager --disable mysql80-community &>/dev/null
    yum-config-manager --enable mysql57-community &>/dev/null

    echo '[9]正在启动mysql...'
    systemctl start mysqld &>/dev/null

    echo '[10]正在设置密码,请稍后...'
    num_az=$(awk '/temporary password/{p=$NF}END{print p}' /var/log/mysqld.log)
    echo 'validate-password=OFF' >>/etc/my.cnf

    systemctl restart mysqld &>/dev/null
    read -p '请输入新密码:' passwdx
    mysqladmin -uroot -p"$num_az" password "$passwdx" &>/dev/null

    echo "[11]安装完成,密码已设置完成为:$passwdx"
    echo "[12]密码已保存到/mysql_passwd.txt目录下"
    echo $passwdx >/mysql_passwd.txt

    yum clean all &>/dev/null && yum makecache fast &>/dev/null
    #安装zabbix模块
    echo "[13]开始安装zabbix..."
    yum -y install zabbix-server-mysql zabbix-agent zabbix-get zabbix-sender centos-release-scl &>/dev/null
    yum -y install yum-utils &>/dev/null
    rpm -qa | grep yum-utils &>/dev/null
    if [ $? -eq 1 ]; then
        sleep 1
        yum -y install yum-utils &>/dev/null
    fi
    yum-config-manager --enable zabbix-frontend &>/dev/null
    yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl centos-release-scl &>/dev/null
    #建立运行数据库
    echo "[14]正在建立运行数据库..."
    mysql -p"${passwdx}" -e 'create database zabbix character set utf8 collate utf8_bin;' &>/dev/null
    mysql -p"${passwdx}" -e "create user zabbix@localhost identified by 'admin';" &>/dev/null
    mysql -p"${passwdx}" -e 'grant all privileges on zabbix.* to zabbix@localhost;' &>/dev/null
    mysql -p"${passwdx}" -e 'set global log_bin_trust_function_creators = 1;' &>/dev/null
    mysql -p"${passwdx}" -e 'flush privileges;' &>/dev/null
    echo "[15]zabbix登录数据库密码为:admin"
    echo "zabbix登录数据库密码为:admin" >>/zabbix-mysql.txt
    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p"admin" zabbix 2>/dev/null
    #关联数据库
    echo "[16]正在改写相关配置文件..."
    mysql -p"${passwdx}" -e 'set global log_bin_trust_function_creators = 0;' &>/dev/null
    echo "DBHost=localhost" >>/etc/zabbix/zabbix_server.conf
    echo "DBPassword=admin" >>/etc/zabbix/zabbix_server.conf
    echo "DBPort=3306" >>/etc/zabbix/zabbix_server.conf
    #关联php
    sed -i '2s/^#//;3s/^#//' /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
    sed -i '38,118d' /etc/opt/rh/rh-nginx116/nginx/nginx.conf
    sed -i 's/listen.acl_users = apache/listen.acl_users = apache,nginx/' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    sed -i '25d' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    echo 'php_value[date.timezone] = Asia/Shanghai' >>/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    #重启服务
    echo "[17]正在重启相关服务..."
    systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm &>/dev/null
    systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm &>/dev/null
    echo "[18]zabbix已部署 后续请登录浏览器安装..."
    echo "--------------------------------------------------------"
}
function Az_docker() {
    clear
    #检测防火墙selinux
    echo "------------------------------------------------------------"
    echo "[1]开始检测防火墙SeLinux是否关闭..."
    sleep 1
    f_w=$(systemctl status firewalld | awk '/Active:/{print $2}')
    s_l=$(getenforce)
    #判断是否关闭 没关闭就结束运行
    if [ ${f_w} = "inactive" -a ${s_l} = "Disabled" ]; then
        echo "[2]防火墙SeLinux已关闭..."
        sleep 1
        echo "[3]正在飞速安装docker中..."
        sleep 1
    else
        echo "[2]防火墙SeLinux未关闭..."
        systemctl disable firewalld &>/dev/null
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
        sleep 1
        echo "[3]正在关闭..."
        sleep 1
        echo "[4]防火墙SeLinux已关闭 请重启机器生效..."
        echo "------------------------------------------------------------"
        exit 0
    fi
    #防火墙关了的话就继续开启路由转发
    echo "[4]正在开启路由转发虚拟网桥..."
    echo 'net.ipv4.ip_forward =1' >>/etc/sysctl.conf
    echo 'net.bridge.bridge-nf-call-iptables =1' >>/etc/sysctl.conf
    echo 'net.bridge.bridge-nf-call-ip6tables =1' >>/etc/sysctl.conf
    sysctl -p &>/dev/null
    sleep 1
    #防火墙关闭的话就清理docker环境
    echo "[5]正在清理环境中..."
    yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine &>/dev/null
    sleep 1
    echo "[6]开始安装docker依赖..."
    yum install -y yum-utils device-mapper-persistent-data lvm2 &>/dev/null
    sleep 1
    echo "[7]开始配置阿里docker源..."
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo &>/dev/null
    yum clean all &>/dev/null && yum makecache fast &>/dev/null
    sleep 1
    echo "[8]开始安装docker..."
    yum -y install docker-ce doker-ce-cli containerd.io &>/dev/null
    sleep 1
    echo "[9]开始配置开机自启..."
    systemctl start docker &>/dev/null
    systemctl enable docker &>/dev/null
    systemctl restart docker &>/dev/null
    sleep 1
    echo "[10]开始配置阿里云镜像加速器..."
    clear
    echo "[11]开始建立docker加速器放置目录..."
    mkdir -p /etc/docker
    sleep 1
    echo "[12]开始写入配置..."
    tee /etc/docker/daemon.json &>/dev/null <<-'EOF'
{
  "registry-mirrors": ["https://2zwkpj0m.mirror.aliyuncs.com"]
}
EOF
    sleep 1
    echo "[13]重新加载system工具..."
    systemctl daemon-reload &>/dev/null
    sleep 1
    echo "[14]重新启动docker..."
    systemctl restart docker &>/dev/null
    sleep 1
    echo "[15]阿里云镜像加速器配置完毕!"
    sleep 1
    echo "[16]开始拉取基础镜像centos:7..."
    docker pull centos:7 &>/dev/null
    sleep 1
    echo "[17]已部署docker及第一个基础镜像centos7已配置完毕!"
    sleep 1
    echo '[18]开始使用你的一个docker命令体验激动人心的docker吧!'
    sleep 1
    echo '[19]docker images:查看已下载镜像'
    sleep 1
    echo '[20]docker info:查看docker基本信息'
    sleep 1
    echo '[21]docker run -it centos:7 /bin/bash  启动容器'
    echo "------------------------------------------------------------"
}
function jq_z() {
    jq_id=$(cat /opt/QMOSjQ/jQ${idjqw}/* | head -1)
    if [ -z $jq_id ]; then
        :
    else
        read -p "该资产已注册 是否覆盖[y|n]" jq_num
        case $jq_num in
        y)
            :
            ;;
        n)
            echo "重新加载注册界面..."
            sleep 1
            jqzh
            ;;
        *)
            Rr_QM
            jqzh
            ;;
        esac
    fi
}
function jq_d() {
    if [ $? -eq 0 ]; then
        :
    else
        clear
        echo "该资产还没有注册..."
        sleep 1
        echo "请在资产注册信息以后再使用!"
        sleep 1
        jqfun
    fi
}
function jq_f() {
    jq_fQ=$(ls /opt/ | grep QMOSjQ &>/dev/null && echo 1 || echo 2)
    case $jq_fQ in
    1)
        :
        ;;
    2)
        clear
        echo "---------------------------"
        echo " 检测到环境不支持运行堡垒机"
        sleep 1
        echo " 前往堡垒机主界面使用[环境部署]"
        echo "---------------------------"
        sleep 1
        jqfun
        ;;
    esac
}
function Qc_QM() {
    clear
    cat <<EOF
=============
 "已退出程序!"
=============
EOF
    exit 0
}
function Rr_QM() {
    clear
    cat <<EOF
=============================
 "序列号输入错误 稍后将重新运行!"
=============================
EOF
    sleep 1
}
function w_djs() {
    clear
    a=0
    echo "-------------------------------"
    read -p "休息一会吧!身体最重要[单位s/秒]:" w_num
    while [ $a -lt $w_num ]; do
        let a++
        echo "[${a}]已休息:${a}秒"
        sleep 1
    done
    echo "-------------------------------"
    echo "本次共休息:${a}秒"
}
function make_redis() {
    #自动化部署Redis
    clear
    echo "----------------------------------------------------------------------------"
    DATA=$(ls / | grep data)
    if [ -z $DATA ]; then
        echo "[1]检查是否下载wget..."
        yum -y install wget &>/dev/null
        echo "[2]创建放置redis目录..."
        mkdir -p /data/app
        echo "[3]进入工作目录..."
        cd /data/app
        echo "[4]下载redis..."
        wget http://download.redis.io/releases/redis-5.0.10.tar.gz &>/dev/null
        echo '[5]解压redis...'
        tar xzf redis-5.0.10.tar.gz &>/dev/null
        echo '[6]重命名redis...'
        mv redis-5.0.10/ redis
        echo '[7]下载编译工具...'
        cd redis/ && yum install -y gcc make &>/dev/null
        echo "[8]安装redis..."
        make &>/dev/null
        cd /data/app/redis
        echo "[9]备份redis配置文件..."
        cp redis.conf redis.conf.backup
        echo "[10]开始修改配置文件..."
        sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' redis.conf
        sed -i '/^dir/d' redis.conf
        echo 'dir /data/app/redis/data' >>redis.conf
        sed -i '/^logfile/d' redis.conf
        echo 'logfile /var/log/redis.log' >>redis.conf
        sed -i '/^daemonize/d' redis.conf
        echo 'daemonize yes' >>redis.conf
        mkdir /data/app/redis/data
        touch /var/log/redis.log
        echo "[11]开始配置全局启用reids..."
        echo 'export PATH=/data/app/redis/src:$PATH' >>/etc/profile
        source /etc/profile &>/dev/null
        echo "[12]开始配置system工具管理redis..."
        cd /lib/systemd/system/
        cat >redis.service <<EOF
[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/data/app/redis/src/redis-server /data/app/redis/redis.conf  --daemonize no
ExecStop=/data/app/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target
EOF
        cd - &>/dev/null
        systemctl daemon-reload
        systemctl start redis.service
        cd /data/app/redis
        echo "[13]安装完毕!"
        sleep 1
        echo "请使用./data/app/redis/src/redis-cli -h localhost -p 6379 命令登录使用redis!"
        echo "如果环境变量不生效,请手动执行命令:sourece /etc/profile"
        echo "----------------------------------------------------------------------------"
        sleep 2
    else
        echo "[1]安装失败..."
        sleep 1
        echo "[2]原因根目录下存在冲突目录..."
        sleep 1
        echo "[3]请在删除/data目录或重命名后重新运行本程序...!"
        echo "----------------------------------------------------------------------------"
        exit 2
    fi
}
function make_MGR() {
    clear
    echo "------------------------------------------------"
    echo '--------------------------'
    echo '开始安装果仁烤面筋记事本...'
    echo '--------------------------'
    Mpd=$(rpm -qa cowsay)
    sleep 1
    if [ -z $Mpd ]; then
        clear
        echo "安装果仁烤面筋记事本失败! 原因缺少程序运行必须的插件!"
        echo "正在下载插件请稍后..."
        yum -y install cowsay &>/dev/null
        echo "下载插件完毕..."
        sleep 1
        echo "继续安装果仁烤面筋记事本..."
    fi
    mkdir -p /usr/Grk/DB &>/dev/null
    cd /usr/Grk
    echo '#!/usr/bin/bash                          
 # **************************************
 #   CSDN:         M乔木 
 #   qq邮箱:        2776617348@qq.com 
 #   解释器:        这是一个shell脚本        
 # **************************************
	
	#===================================================================
	#函数声明
	function Grk_ck(){
		clear
		echo '--------------------------------------------------------------'
		cat<<EOF
	            "果仁烤面筋记事本" 
EOF
		echo '--------------------------------------------------------------'		
		cowsay -f supermilker  "查看笔记"
		echo '-----------------'
		ls /usr/Grk/DB/ | sort
		echo '-----------------'
		read -p "[查看内容回复x | 返回主页回复q]:" q_grk
		case $q_grk in 
	x)
		clear
		echo '--------------------------------------------------------------'
		cat<<EOF
	            "果仁烤面筋记事本" 
EOF
		echo '--------------------------------------------------------------'		
		cowsay -f supermilker  "查看内容"
		echo '-----------------'
		ls /usr/Grk/DB/ | sort
		echo '-----------------'
		read -p "请输入你想要查看的笔记名"  q_Grk
		clear
		echo '--------------------------------------------------------------'
		cat /usr/Grk/DB/${q_Grk}
		echo '--------------------------------------------------------------'
		read -p "[继续查看回复h | 退出回复q]:" Q_grk
		case $Q_grk in
	h)
		Grk_ck
		;;
	q)
		clear
		echo '[欢迎下次使用!]'
		exit 0
		;;
	*)	
		clear
		echo "===================="
		echo " 输入错误 请重新输入"
		echo "===================="
		sleep 1
		Grk_ck
		esac
		;;
	q)
		Zjm_grk
		;;
	*)	
		clear
		echo "===================="
		echo " 输入错误 请重新输入"
		echo "===================="
		sleep 1
		Grk_ck
		esac 
	}
	function Sx_grk(){		
		clear
		echo '--------------------------------------------------------------'
		cat<<EOF
	            "果仁烤面筋记事本" 
EOF
		echo '--------------------------------------------------------------'		
		cowsay -f supermilker  "\"记录美好生活\""
		read -p "请输入你要记录的标题:" numhead
		clear
		echo '--------------------------------------------------------------'
		echo "                        [${numhead}]                           "
			read -p "请输入你想记录的内容:" nummain	
		echo '--------------------------------------------------------------'
		echo $nummain > /usr/Grk/DB/${numhead}.md
	}
	function Zjm_grk(){
		clear
		echo '--------------------------------------------------------------'
		cat<<EOF
	            "果仁烤面筋记事本" 
EOF
		echo '--------------------------------------------------------------'		
		cowsay -f supermilker  "\"记录美好生活\""
		cat<<EOF
+--------------+
  1.查看笔记
  2.新建笔记
  q.退出记事本
+--------------+
EOF
		read -p ":" drk_zjm
		case $drk_zjm in
	1)
		Grk_ck
		;;
	2)
		Sx_grk
		sleep 1
		Zjm_grk
		;;
	q)
		clear
		echo '[欢迎下次使用!]'
		exit 0
		;;
	*)
		clear
		echo "===================="
		echo " 输入错误 请重新输入"
		echo "===================="
		sleep 1
		Zjm_grk
		esac
	}
	#显示界面
    Zjm_grk' >MGR.sh
    chmod +x /usr/Grk/MGR.sh &>/dev/null
    echo 'export PATH=/usr/Grk:$PATH' >>/etc/profile 2>/dev/null
    source /etc/profile &>/dev/null
    a=0
    while [ $a -lt "9" ]; do
        let a++
        echo "[${a}] kk +1"
        sleep 1
    done
    echo "安装结束..."
    echo "------------------------------------------------"
    sleep 1
    source /etc/profile &>/dev/null
    cd &>/dev/null
    echo "[现在开始可以使用MGR命令使用果仁烤面筋了!]"
    sleep 1
    echo "[如果环境变量不生效,请手动执行命令:sourece /etc/profile]"
    sleep 1
    echo '[笔记存放路径在:/usr/Grk/DB目录]'
}
function Csh_js() {
    #设置主机名
    host_name="QMOS-js"
    # 设置DNS
    dnsaY=DNS1=114.114.114.114
    dnsbY=DNS2=8.8.8.8

    # 清除屏幕
    clear
    # 开始初始化服务器
    echo "======================="
    echo " 开始极速初始化服务器..."
    echo " 全程将持续10秒左右..."
    echo "======================="

    # 禁用防火墙
    systemctl disable firewalld &>/dev/null

    # 修改SELinux配置文件,禁用SELinux
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config &>/dev/null
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux &>/dev/null

    # 设置主机名
    hostnamectl set-hostname $host_name

    # 获取网卡名称
    wknameY=$(ls /etc/sysconfig/network-scripts/ | grep ifcfg-ens | cut -d'-' -f2)

    # 获取IP地址
    ipnameY=$(ip -f inet a show dev $wknameY | awk "/inet/{print $2}" | awk '{print $2}' | cut -d'/' -f1)

    # 安装net-tools
    yum -y install net-tools &>/dev/null

    # 删除旧的网卡配置文件
    rm -rf /etc/sysconfig/network-scripts/ifcfg-$wknameY &>/dev/null

    # 获取默认网关
    wgnameY=$(route -n | grep '^0.0.0.0' | awk '{print $2}')

    # 创建新的网卡配置文件
    cd /etc/sysconfig/network-scripts/
    cat >ifcfg-$wknameY <<EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="$wknameY"
DEVICE="$wknameY"
ONBOOT="yes"
IPADDR=$ipnameY
PREFIX=24
GATEWAY=$wgnameY
$dnsaY
$dnsbY
EOF
    # 返回根目录
    cd /root &>/dev/null

    #重启网卡
    systemctl restart network

    #下载vim编辑器 函数
    vimQM

    #设置全局启用服务
    clear
    if [ -d /root/qm ]; then
        echo "已经启用全局本程序,如未设置请检查/root目录下是否有qm同名目录,再前往系统设置重新运行"
    else
        echo "正在设置全局启用本程序..."
        mkdir /root/qm
        QMLJY=$(find / -name "QiaoMuOS*.sh")
        mv $QMLJY /root/qm/QiaoMuOS.sh
        echo 'export PATH=/root/qm:$PATH' >>/etc/profile
        echo "已在全局启用本程序 后续使用QiaoMuOS命令即可"
        echo "程序已迁移到/root/qm路径中 可随时前去查看"
        cd /root/qm/
        chmod 777 QiaoMuOS.sh
        source /etc/profile
    fi
    # 初始化服务器成功提示
    echo "==============================="
    echo "  极速初始化服务器成功,已重启..."
    echo "==============================="
    # 重启服务器
    reboot
}
function Fs_g() {
    clear
    #空闲内存
    Fr=$(free -h | awk 'NR==2{print $4}')
    #已用内存
    Us=$(free -h | awk 'NR==2{print $3}')
    #系统存储空间
    Us_system=$(df -Th | grep /dev/ | tail -1 | awk '{print $4}')
    Us_free=$(df -Th | grep /dev/ | tail -1 | awk '{print $5}')
    #cpu负载率
    cpu_s=$(uptime | awk -F'average:' '{print $2}')
    #当前登录用户
    Us_yh=$(echo $USER)
    #当前网卡IP
    Ip_status=$(echo $SSH_CONNECTION | awk '{print $3}')
    #登录服务器设备IP
    Ip_f=$(echo $SSH_CLIENT | awk '{print $1}')
    #网络情况
    Ip_p=$(
        ping -c1 -W1 baidu.com &>/dev/null
        echo $?
    )
    if [ $Ip_p = 0 ]; then
        wl=yes
    else
        wl=no
    fi
    #网络带宽
    RT_k=$(ls /etc/sysconfig/network-scripts/ | grep ifcfg-e | head -1 | cut -d'-' -f2)
    RX_status=$(netstat -i | grep "$RT_k" | awk 'NR==1{print $3}')
    TX_status=$(netstat -i | grep "$RT_k" | awk 'NR==1{print $7}')
    cat <<EOF
+-----------------------------------+
  [1]空闲内存:[$Fr]
  [2]已用内存:[$Us]
  [3]系统存储空间 
  已用:[$Us_system]
  空闲:[$Us_free]
  [4]cpu负载率:[$cpu_s]
  [5]当前登录用户:[$Us_yh]
  [6]当前网卡IP:[$Ip_status]
  [7]登录服务器设备IP:[$Ip_f]
  [8]网络情况:[$wl]
  [9]网络带宽 
  接收RX:[$RX_status]
  发送TX:[$TX_status]
+-----------------------------------+
EOF
}
function statusF() {
    clear
    Fs_g
    read -p "[刷新回复x|退出回复q]:" sF_num
    case $sF_num in
    x)
        statusF
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        systemft
        ;;
    esac
}
function WYyum() {
    clear
    echo "-----------------------------------------------------------------------------------------------------------"
    echo "开始安装网易yum源..."
    rm -rf /etc/yum.repos.d/*
    cd /etc/yum.repos.d/
    curl -o CentOS7-Base-163.repo https://mirrors.163.com/.help/CentOS7-Base-163.repo &>/dev/null
    yum clean all &>/dev/null && yum makecache fast
    cd -
    clear
    echo "---------------------------------------------网易yum源仓库--------------------------------------------------"
    yum repolist
    echo "-----------------------------------------------------------------------------------------------------------"
    echo "网易yum源仓库安装完成..."
    sleep 3
}
function TXyum() {
    clear
    echo "-----------------------------------------------------------------------------------------------------------"
    echo "开始安装腾讯yum源..."
    rm -rf /etc/yum.repos.d/*
    cd /etc/yum.repos.d/
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tencent.com/repo/centos7_base.repo &>/dev/null
    yum clean all &>/dev/null && yum makecache fast
    cd -
    clear
    echo "---------------------------------------------腾讯yum源仓库--------------------------------------------------"
    yum repolist
    echo "-----------------------------------------------------------------------------------------------------------"
    echo "腾讯yum源仓库安装完成..."
    sleep 3
}
function SYJC() {
    #变量区修改内容看这里
    #设置主机名
    host_name="QMOS"
    # 设置DNS
    dnsaY=DNS1=114.114.114.114
    dnsbY=DNS2=8.8.8.8

    # 清除屏幕
    clear

    # 开始初始化服务器
    echo "======================"
    echo "  开始初始化服务器..."
    echo "  全程将持续15秒左右..."
    echo "======================"

    # 禁用防火墙
    systemctl disable firewalld &>/dev/null

    # 修改SELinux配置文件,禁用SELinux
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config &>/dev/null
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux &>/dev/null

    # 设置主机名
    hostnamectl set-hostname $host_name

    # 删除yum仓库配置文件
    rm -f /etc/yum.repos.d/* &>/dev/null || rm -rf /etc/yum.repos.d/* && echo "检测到/etc/yum.repos.d/下有目录,已删除"

    # 下载阿里源基础包
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null

    # 下载阿里包加强包
    curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null

    # 清除yum缓存
    yum clean all &>/dev/null && yum makecache fast &>/dev/null

    # 获取网卡名称
    wknameY=$(ls /etc/sysconfig/network-scripts/ | grep ifcfg-ens | cut -d'-' -f2)

    # 获取IP地址
    ipnameY=$(ip -f inet a show dev $wknameY | awk "/inet/{print $2}" | awk '{print $2}' | cut -d'/' -f1)

    # 删除旧的网卡配置文件
    rm -rf /etc/sysconfig/network-scripts/ifcfg-$wknameY &>/dev/null

    # 安装net-tools
    yum -y install net-tools &>/dev/null

    # 获取默认网关
    wgnameY=$(route -n | grep '^0.0.0.0' | awk '{print $2}')

    # 创建新的网卡配置文件
    cd /etc/sysconfig/network-scripts/
    cat >ifcfg-$wknameY <<EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="$wknameY"
DEVICE="$wknameY"
ONBOOT="yes"
IPADDR=$ipnameY
PREFIX=24
GATEWAY=$wgnameY
$dnsaY
$dnsbY
EOF
    # 返回根目录
    cd /root &>/dev/null

    # 重启网络服务
    systemctl restart network &>/dev/null

    # 安装lrzsz
    yum -y install lrzsz &>/dev/null

    # 安装ntpdate
    yum -y install ntpdate &>/dev/null
    ntpdate time.windows.com &>/dev/null

    # 安装cowsay
    yum -y install cowsay &>/dev/null

    # 安装bash-completion
    yum -y install bash-completion &>/dev/null

    #下载vim编辑器 函数
    vimQM

    #设置全局启用服务
    clear
    if [ -d /root/qm ]; then
        echo "已经启用全局本程序,如未设置请检查/root目录下是否有qm同名目录,再前往系统设置重新运行"
    else
        echo "正在设置全局启用本程序..."
        mkdir /root/qm
        QMLJY=$(find / -name "QiaoMuOS*.sh")
        mv $QMLJY /root/qm/QiaoMuOS.sh
        echo 'export PATH=/root/qm:$PATH' >>/etc/profile
        echo "已在全局启用本程序 后续使用QiaoMuOS命令即可"
        echo "程序已迁移到/root/qm路径中 可随时前去查看"
        cd /root/qm/
        chmod 777 QiaoMuOS.sh
        source /etc/profile
    fi
    echo "==========================="
    echo " 初始化服务器成功,已重启..."
    echo "==========================="
    # 重启服务器
    reboot
}
function RCCSH() {
    #开机欢迎
    clear
    SHAN='\E[33;5m' #黄色闪烁警示
    RES='\E[0m'     # 清除颜色
    echo "+---------------------------------+"
    echo -e "  ${SHAN} 欢迎使用乔木的基础环境配置脚本3.0 ${RES}"
    echo "   CSDN:M乔木                  "
    echo "   邮箱: 2776617348@qq.com     "
    echo "+---------------------------------+"
    #关闭防火墙  函数fwset
    fwset
    #修改主机名 定义变量nameeJC 接收输入
    echo "开始修改主机名..."
    sleep 1
    read -p "请输入你想修改的主机名:" nameeJC
    hostnamectl set-hostname $nameeJC
    echo "主机名修改完毕,设置为$nameeJC"
    sleep 1
    #调用函数yumpz	yum仓库函数
    yumpz
    #固定IP gdIPD函数
    gdIPD
    sleep 1
    #下载传文件服务
    clear
    sleep 1
    echo "开始下载配置命令包并同步网络时间..."
    sleep 1
    echo "下载时间根据网络的不同速度也不同,请耐心等待..."
    yum -y install lrzsz &>/dev/null
    #校准时间
    yum -y install ntpdate &>/dev/null
    ntpdate time.windows.com &>/dev/null
    #下载cowsay
    yum -y install cowsay &>/dev/null
    #下载扩展tab补全包
    yum -y install bash-completion &>/dev/null
    #下载vim编辑器 函数
    vimQM
    #下载wget下载工具
    yum -y install wget &>/dev/null
    #下载网络工具包
    yum -y install net-tools &>/dev/null
    #下载unzip解压工具
    yum -y install unzip &>/dev/null
    echo "下载结束 同步网络时间成功"

    #设置全局启用
    clear
    if [ -d /root/qm ]; then
        echo "已经启用全局本程序,如未设置请检查/root目录下是否有qm同名目录,再前往系统设置重新运行"
        sleep 1
    else
        echo "正在设置全局启用本程序..."
        mkdir /root/qm
        QMLJ=$(find / -name "QiaoMuOS*.sh")
        mv $QMLJ /root/qm/QiaoMuOS.sh
        echo 'export PATH=/root/qm:$PATH' >>/etc/profile
        sleep 1
        echo "已在全局启用本程序 后续使用QiaoMuOS命令即可"
        sleep 1
        echo "程序已迁移到/root/qm路径中 可随时前去查看"
        cd /root/qm/
        chmod 777 QiaoMuOS.sh
        source /etc/profile
    fi
    #设置开机提示
    read -p "请选择是否设置开机提示[y|n]:" KJts
    case $KJts in
    y)
        #开机设置提示
        hostTS

        echo "+----------------------------+"
        echo -e "  ${SHAN} 配置结束即将重启... ${RES}"
        echo "   CSDN:M乔木                "
        echo "   邮箱: 2776617348@qq.com   "
        echo -e "  ${SHAN} 欢迎下次使用! ${RES}"
        echo "+----------------------------+"
        #重启程序结束
        reboot
        ;;
    n)
        sleep 1
        echo "+---------------------------+"
        echo -e "  ${SHAN} 配置结束即将重启... ${RES}"
        echo "   CSDN:M乔木               "
        echo "   邮箱: 2776617348@qq.com   "
        echo -e "  ${SHAN} 欢迎下次使用! ${RES}"
        echo "+---------------------------+"
        #重启程序结束
        reboot
        ;;
    *)
        echo "================="
        echo " 输入错误,已重启!"
        echo "================="
        reboot
        ;;
    esac
}
function vimQM() {
    echo "正在下载vim文本编辑器..."
    yum -y install vim &>/dev/null
    echo 'autocmd BufNewFile *.sh exec ":call AddShell()"
function  AddShell()
 call append(0, " #!/usr/bin/bash                          ")
 call append(1, " # **************************************")
 call append(2, " #   CSDN:         M乔木 ")
 call append(3, " #   qq邮箱:        2776617348@qq.com ")
 call append(4, " #   解释器:        这是一个shell脚本        ")
 call append(5, " # **************************************")
endfunction' >>/etc/vimrc
    echo 'autocmd BufNewFile *.txt exec ":call AddTxt()"
function  AddTxt()
 call append(0, " # **************************************")
 call append(1, " #   CSDN:        M乔木                 ")
 call append(2, " #   qq邮箱:       2776617348@qq.com   ")
 call append(3, " #   解释器:       这是一个txt文件       ")
 call append(4, " # **************************************")
endfunction' >>/etc/vimrc
    echo 'autocmd BufNewFile *.md exec ":call AddMd()"
function  AddMd()
 call append(0, " # **************************************")
 call append(1, " #   CSDN:         M乔木                 ")
 call append(2, " #   qq邮箱:        2776617348@qq.com    ")
 call append(3, " #   解释器:        这是一个md文件        ")
 call append(4, " # **************************************")
endfunction' >>/etc/vimrc
    echo "安装成功已退出"
}
function dlJQ() {
    clear
    id1Y=$(cat /opt/QMOSjQ/jQ1/Y 2>/dev/null)
    id1M=$(cat /opt/QMOSjQ/jQ1/M 2>/dev/null)
    id1IP=$(cat /opt/QMOSjQ/jQ1/IP 2>/dev/null)

    id2Y=$(cat /opt/QMOSjQ/jQ2/Y 2>/dev/null)
    id2M=$(cat /opt/QMOSjQ/jQ2/M 2>/dev/null)
    id2IP=$(cat /opt/QMOSjQ/jQ2/IP 2>/dev/null)

    id3Y=$(cat /opt/QMOSjQ/jQ3/Y 2>/dev/null)
    id3M=$(cat /opt/QMOSjQ/jQ3/M 2>/dev/null)
    id3IP=$(cat /opt/QMOSjQ/jQ3/IP 2>/dev/null)

    id4Y=$(cat /opt/QMOSjQ/jQ4/Y 2>/dev/null)
    id4M=$(cat /opt/QMOSjQ/jQ4/M 2>/dev/null)
    id4IP=$(cat /opt/QMOSjQ/jQ4/IP 2>/dev/null)

    id5Y=$(cat /opt/QMOSjQ/jQ5/Y 2>/dev/null)
    id5M=$(cat /opt/QMOSjQ/jQ5/M 2>/dev/null)
    id5IP=$(cat /opt/QMOSjQ/jQ5/IP 2>/dev/null)

    id6Y=$(cat /opt/QMOSjQ/jQ6/Y 2>/dev/null)
    id6M=$(cat /opt/QMOSjQ/jQ6/M 2>/dev/null)
    id6IP=$(cat /opt/QMOSjQ/jQ6/IP 2>/dev/null)

    id7Y=$(cat /opt/QMOSjQ/jQ7/Y 2>/dev/null)
    id7M=$(cat /opt/QMOSjQ/jQ7/M 2>/dev/null)
    id7IP=$(cat /opt/QMOSjQ/jQ7/IP 2>/dev/null)

    id8Y=$(cat /opt/QMOSjQ/jQ8/Y 2>/dev/null)
    id8M=$(cat /opt/QMOSjQ/jQ8/M 2>/dev/null)
    id8IP=$(cat /opt/QMOSjQ/jQ8/IP 2>/dev/null)

    id9Y=$(cat /opt/QMOSjQ/jQ9/Y 2>/dev/null)
    id9M=$(cat /opt/QMOSjQ/jQ9/M 2>/dev/null)
    id9IP=$(cat /opt/QMOSjQ/jQ9/IP 2>/dev/null)

    id0Y=$(cat /opt/QMOSjQ/jQ0/Y 2>/dev/null)
    id0M=$(cat /opt/QMOSjQ/jQ0/M 2>/dev/null)
    id0IP=$(cat /opt/QMOSjQ/jQ0/IP 2>/dev/null)

    cat <<EOF
+---------------------------------+
            Jump Server                    
+---------------------------------+  
    [0]IP:${id0IP}
    [1]IP:${id1IP}
    [2]IP:${id2IP}
    [3]IP:${id3IP}
    [4]IP:${id4IP}
    [5]IP:${id5IP}
    [6]IP:${id6IP}
    [7]IP:${id7IP}
    [8]IP:${id8IP}
    [9]IP:${id9IP}
+---------------------------------+
EOF
}
function systemqm() {
    clear
    if [ -d /root/qm ]; then
        echo "[1]已经启用全局本程序,如未设置请检查/root目录下是否有qm同名目录,再前往系统设置重新运行"
    else
        echo "[1]正在设置全局启用本程序..."
        mkdir /root/qm
        QMLJ=$(find / -name "QiaoMuOS*.sh")
        mv $QMLJ /root/qm/QiaoMuOS.sh
        echo 'export PATH=/root/qm:$PATH' >>/etc/profile
        echo "[2]已在全局启用本程序 后续使用QiaoMuOS命令即可"
        sleep 1
        echo "[3]程序已迁移到/root/qm路径中 可随时前去查看 稍后将会重启..."
        cd /root/qm/
        cat >>qd.sh <<EOF
    #!/usr/bin/bash
    chmod 777 QiaoMuOS.sh
    source /etc/profile
    rm -f qd.sh
    reboot
EOF
        sh ./qd.sh
    fi
}
function zz_ll() {
    clear
    cat <<EOF
+---------------------------+
         作者信息
+---------------------------+
  CSDN:  M乔木               
  mail:  2776617348@qq.com  
+---------------------------+
EOF
    read -p "输入q退出:" zzname
    case $zzname in
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        menus
        ;;
    esac
}
function qhnetw() {
    clear     # 清除屏幕
    cat <<EOF # 输出菜单内容
+-----------------------+
  [1]有线网络---wired
  [2]无线网络---wireless
  [3]返回上级
  [q]退出程序
+-----------------------+
EOF

    read -p "请输入序列号:" networkid # 提示用户输入序列号
    case $networkid in          # 根据用户输入的序列号执行相应的操作
    1)
        echo "开始切换有线网络..." # 输出提示信息
        wfo=$(ls /etc/sysconfig/network-scripts/ | grep ifcfg- | head -1 | cut -d- -f2)
        sed -i 's/BOOTPROTO="dhcp"/BOOTPROTO="none"/' /etc/sysconfig/network-scripts/ifcfg-$wfo # 修改配置文件,禁用DHCP
        systemctl restart network                                                               # 重启网络服务
        wiredid=$(ip a | grep $wfo | grep 10 | awk '/inet/{print $2}' | awk -F"/" '{print $1}') # 获取当前有线网络IP地址
        echo "当前最新ip为:$wiredid"                                                                 # 输出当前IP地址
        exit 0                                                                                  # 退出函数
        ;;
    2)
        echo "开始切换无线网络..." # 输出提示信息
        wfo=$(ls /etc/sysconfig/network-scripts/ | grep ifcfg- | head -1 | cut -d- -f2)
        sed -i 's/BOOTPROTO="none"/BOOTPROTO="dhcp"/' /etc/sysconfig/network-scripts/ifcfg-$wfo # 修改配置文件,启用DHCP
        systemctl restart network                                                               # 重启网络服务
        wirelessid=$(ip a | grep $wfo | grep 192 | awk '{print $2}' | awk -F"/" '{print $1}')   # 获取当前无线网络IP地址
        echo "当前最新ip为:$wirelessid"                                                              # 输出当前IP地址
        exit 0                                                                                  # 退出函数
        ;;
    3)
        systemset
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        qhnetw
        ;;
    esac
}
function jqzh() {
    clear
    dlJQ #显示服务器列表
    read -p "请输入你要注册几号账号[回复q退出]:" idjqw
    case $idjqw in
    1)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ1/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ1/M
        echo "$IPjq" >/opt/QMOSjQ/jQ1/IP
        ;;
    2)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ2/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ2/M
        echo "$IPjq" >/opt/QMOSjQ/jQ2/IP
        ;;
    3)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ3/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ3/M
        echo "$IPjq" >/opt/QMOSjQ/jQ3/IP
        ;;
    4)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ4/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ4/M
        echo "$IPjq" >/opt/QMOSjQ/jQ4/IP
        ;;
    5)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ5/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ5/M
        echo "$IPjq" >/opt/QMOSjQ/jQ5/IP
        ;;
    6)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ6/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ6/M
        echo "$IPjq" >/opt/QMOSjQ/jQ6/IP
        ;;
    7)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ7/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ7/M
        echo "$IPjq" >/opt/QMOSjQ/jQ7/IP
        ;;
    8)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ8/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ8/M
        echo "$IPjq" >/opt/QMOSjQ/jQ8/IP
        ;;
    9)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ9/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ9/M
        echo "$IPjq" >/opt/QMOSjQ/jQ9/IP
        ;;
    0)
        jq_z
        read -p "请输入你的服务器用户名:" namejq
        read -p "请输入你的服务器密码:" mmjq
        read -p "请输入你的服务器IP:" IPjq
        echo "$namejq" >/opt/QMOSjQ/jQ0/Y
        echo "$mmjq" >/opt/QMOSjQ/jQ0/M
        echo "$IPjq" >/opt/QMOSjQ/jQ0/IP
        ;;
    q)
        echo "已退出..."
        sleep 1
        jqfun
        ;;
    *)
        Rr_QM
        jqzh
        ;;
    esac
    echo "注册成功!"
    sleep 1
    jqfun
}
function jqjm() {
    dlJQ
    read -p "请输入想登录的服务器的序列号[输入q退出]:" jqnameid
    case $jqnameid in
    0)
        sshpass -p${id0M} ssh -o StrictHostKeyChecking=no ${id0Y}@${id0IP} 2>/dev/null
        jq_d
        ;;
    1)
        sshpass -p${id1M} ssh -o StrictHostKeyChecking=no ${id1Y}@${id1IP} 2>/dev/null
        jq_d
        ;;
    2)
        sshpass -p${id2M} ssh -o StrictHostKeyChecking=no ${id2Y}@${id2IP} 2>/dev/null
        jq_d
        ;;
    3)
        sshpass -p${id3M} ssh -o StrictHostKeyChecking=no ${id3Y}@${id3IP} 2>/dev/null
        jq_d
        ;;
    4)
        sshpass -p${id4M} ssh -o StrictHostKeyChecking=no ${id4Y}@${id4IP} 2>/dev/null
        jq_d
        ;;
    5)
        sshpass -p${id5M} ssh -o StrictHostKeyChecking=no ${id5Y}@${id5IP} 2>/dev/null
        jq_d
        ;;
    6)
        sshpass -p${id6M} ssh -o StrictHostKeyChecking=no ${id6Y}@${id6IP} 2>/dev/null
        jq_d
        ;;
    7)
        sshpass -p${id7M} ssh -o StrictHostKeyChecking=no ${id7Y}@${id7IP} 2>/dev/null
        jq_d
        ;;
    8)
        sshpass -p${id8M} ssh -o StrictHostKeyChecking=no ${id8Y}@${id8IP} 2>/dev/null
        jq_d
        ;;
    9)
        sshpass -p${id9M} ssh -o StrictHostKeyChecking=no ${id9Y}@${id9IP} 2>/dev/null
        jq_d
        ;;
    q)
        echo "已退出..."
        sleep 1
        jqfun
        ;;
    *)
        Rr_QM
        jqjm
        ;;
    esac
}
function jqfun() {
    clear
    cat <<EOF
+---------------+
   [1]环境部署
   [2]注册资产
   [3]登录资产
   [4]清理资产
   [5]返回上级
   [q]退出程序
+---------------+
EOF
    read -p "请输入序列号:" jqid
    case $jqid in
    1)
        clear
        echo "------------------------------------------------------------"
        echo "[1]开始检测环境是否支持堡垒机运行..."
        jqnum=$(
            rpm -qa | grep sshpass &>/dev/null
            echo $?
        )
        jqnumk=$(
            ls /opt | grep QMOSjQ &>/dev/null
            echo $?
        )
        if [ $jqnum -eq 0 ]; then
            echo "[2]环境支持堡垒机运行..."
        else
            echo "[2]环境不支持运行 开始配置..."
            yum -y install sshpass &>/dev/null
        fi
        if [ $jqnumk -eq 0 ]; then
            echo "[3]正在运行..."
        else
            echo "[3]开始建立堡垒机运行所需文件..."
            mkdir -p /opt/QMOSjQ/{jQ1,jQ2,jQ3,jQ4,jQ5,jQ6,jQ7,jQ8,jQ9,jQ0}
            touch /opt/QMOSjQ/jQ1/{Y,M,IP}
            touch /opt/QMOSjQ/jQ2/{Y,M,IP}
            touch /opt/QMOSjQ/jQ3/{Y,M,IP}
            touch /opt/QMOSjQ/jQ4/{Y,M,IP}
            touch /opt/QMOSjQ/jQ5/{Y,M,IP}
            touch /opt/QMOSjQ/jQ6/{Y,M,IP}
            touch /opt/QMOSjQ/jQ7/{Y,M,IP}
            touch /opt/QMOSjQ/jQ8/{Y,M,IP}
            touch /opt/QMOSjQ/jQ9/{Y,M,IP}
            touch /opt/QMOSjQ/jQ0/{Y,M,IP}
        fi
        echo "[4]检测结束..."
        echo "------------------------------------------------------------"
        sleep 1
        jqfun
        ;;
    2)
        jq_f
        jqzh
        ;;
    3)
        jq_f
        jqjm
        ;;
    4)
        clear
        echo "------------------------------------------------------------"
        echo "[1]开始清理资产..."
        yum -y remove sshpass &>/dev/null
        rm -rf /opt/QMOSjQ &>/dev/null
        sleep 1
        echo "[2]清理完毕..."
        echo "------------------------------------------------------------"
        sleep 1
        jqfun
        ;;
    5)
        menus
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        jqfun
        ;;
    esac
}
function pingip() {
    clear
    echo "========================"
    echo " 正在运行程序,请稍等片刻..."
    echo "========================"
    >/opt/a.md
    >/opt/b.md
    Wk_Ip=$(ls /etc/sysconfig/network-scripts/ | awk '/ifcfg/{print}' | cut -d- -f2 | head -1)
    Ip_Ping=$(ip -f inet a show dev $Wk_Ip | awk "/inet/{print $2}" | awk '{print $2}' | cut -d'/' -f1 | cut -d'.' -f1-3)
    for i in {1..254}; do
        {
            ping -W1 -c3 ${Ip_Ping}.${i} &>/dev/null
            if [ $? -eq 0 ]; then
                echo "${Ip_Ping}.${i} 此ip繁忙" >>/opt/b.md
            else
                echo "${Ip_Ping}.${i} 此ip空闲" >>/opt/a.md
            fi
        } &
    done
    sleep 3
    read -p "请选择查看离线IP还是在线iP[1|2]" IPnumxz
    case $IPnumxz in
    1)
        clear
        echo "========================="
        echo " 已显示前十条离线ip"
        cat /opt/a.md | head
        echo "========================="
        read -p "回复q退出" ping_F
        case $ping_F in
        q)
            rm -f /opt/a.md
            rm -f /opt/b.md
            echo "已退出..."
            sleep 1
            onekey
            ;;
        *)
            rm -f /opt/a.md
            rm -f /opt/b.md
            echo "输入错误已退出..."
            sleep 1
            onekey
            ;;
        esac
        ;;
    2)
        clear
        echo "========================="
        echo " 已显示前十条在线ip"
        cat /opt/b.md | head
        echo "========================="
        read -p "回复q退出" ping_F
        case $ping_F in
        q)
            rm -f /opt/a.md
            rm -f /opt/b.md
            echo "已退出..."
            sleep 1
            onekey
            ;;
        *)
            rm -f /opt/a.md
            rm -f /opt/b.md
            echo "输入错误已退出..."
            sleep 1
            onekey
            ;;
        esac
        ;;
    *)
        Rr_QM
        pingip
        ;;
    esac
}
function Y_BJ() {
    clear
    cat <<EOF
+---------------+
  [1]开启YML书写
  [2]关闭YML书写
  [q]退出程序
+---------------+
EOF
    read -p "请输入序号:" Y_sz
    case $Y_sz in
    1)
        clear
        echo "----------------------------------"
        echo "[1]开始配置vim编辑器..."
        sleep 1
        echo "[2]正在写入配置文件..."
        sleep 1
        echo set nu et ts=2 sw=2 cuc autoindent >>/etc/vimrc
        echo "[3]YML格式已启用!"
        echo "----------------------------------"
        sleep 1
        onekey
        ;;
    2)
        clear
        echo "----------------------------------"
        echo "[1]开始打开vim编辑器..."
        sleep 1
        echo "[2]正在删除YML书写配置..."
        sleep 1
        sed -i '/set nu et ts=2 sw=2 cuc autoindent/d' /etc/vimrc
        echo "[3]YML格式已关闭!"
        echo "----------------------------------"
        sleep 1
        onekey
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        Y_BJ
        ;;
    esac
}
function onekey() {
    clear
    cat <<EOF
+----------------------+
  [1]vim编辑器--YML模式      
  [2]查看当前网段IP情况  
  [3]切换系统提示到中文
  [4]查看防火墙selinux 
  [5]查看yum仓库       
  [6]密码生成器
  [7]返回主菜单         
  [q]退出程序                
+----------------------+
EOF
    read -p "请输入序列号:" numkey
    case $numkey in
    1)
        Y_BJ
        ;;
    2)
        pingip
        ;;
    3)
        clear
        echo "==================="
        echo " 切换系统提示到中文"
        echo "==================="
        sleep 1
        export LANG=zh_CN.UTF-8 &>/dev/null
        onekey
        ;;
    4)
        getenforce && systemctl status firewalld
        sleep 3
        onekey
        ;;
    5)
        clear
        echo "=================="
        echo " 开始清理yum缓存"
        echo "=================="
        yum clean all &>/dev/null
        sleep 1
        clear
        echo "================="
        echo " 开始生成yum缓存"
        echo "================="
        yum makecache fast &>/dev/null
        sleep 1
        clear
        echo "======================"
        echo " 开始抓取yum仓库包数量"
        echo "======================"
        sleep 1
        clear
        echo "---------------------------------------------本地yum源仓库--------------------------------------------------"
        yum repolist
        echo "-----------------------------------------------------------------------------------------------------------"
        sleep 3
        onekey
        ;;
    6)
        passwdbcm
        onekey
        ;;

    7)
        menus
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        onekey
        ;;
    esac
}
function Apachefunct() {
    clear
    echo "------------------------------------------------------------"
    echo "[1]检测环境..."
    sleep 1
    #调用函数 关闭防火墙
    fwset
    #安装阿帕奇
    sleep 1
    echo "[2]开始安装阿帕奇服务器 本次安转将持续两分钟请耐心等待..."
    yum -y install httpd &>/dev/null
    #启动阿帕奇
    systemctl start httpd
    echo "[3]apache安装成功! 现在可以使用system工具来使用管理PHP了!"
    echo "------------------------------------------------------------"
    sleep 1
}
function PHPfunct() {
    clear
    echo "------------------------------------------------------------"
    echo "[1]开始安装PHP..."
    sleep 1
    echo "[2]本次安装将根据网速的情况持续2分钟到五分钟左右,请耐心等待..."
    yum -y install php php-fpm &>/dev/null
    echo "[3]PHP安装成功! 现在可以使用system工具来使用管理PHP了!"
    echo "------------------------------------------------------------"
    sleep 1
}
function MySqlfunct() {
    clear
    echo "---------------------------------------------------------------------"
    echo '[1]准备安装数据库,全程根据网络情况持续1~5分钟左右,请耐心等待...'
    sleep 1
    echo '[2]开始清理环境...'
    yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y &>/dev/null
    userdel -r mysql &>/dev/null
    rm -rf /etc/my* &>/dev/null
    rm -rf /var/lib/mysql &>/dev/null
    rm -rf /usr/bin/mysql &>/dev/null
    yum -y erase $(rpm -qa | egrep "mysql|mariadb") &>/dev/null
    Se_gb=$(getenforce)
    fw_gd=$(systemctl status firewalld | awk '/Active:/{print $2}')
    echo "[3]正在检查防火墙selinux..."
    sleep 1
    if [ $Se_gb != Disabled -a $fw_gd != inactive ]; then
        echo '[4]防火墙和selinux未关闭,正在关闭...'
        systemctl disable firewalld &>/dev/null
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux &>/dev/null
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config &>/dev/null
        echo "[防火墙和selinux已关闭,请在安装结束重启服务器以生效配置]"
    else
        echo '[4]防火墙和selinux已关闭,正在继续...'
    fi
    sleep 1
    echo '[5]正在下载mysqlyum源...'
    yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm &>/dev/null

    echo '[6]正在安装mysql...'
    yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community &>/dev/null
    yum -y groupinstall "Development Tools" &>/dev/null

    echo '[7]正在配置mysql...'
    yum -y install yum-utils &>/dev/null
    yum-config-manager --disable mysql80-community &>/dev/null
    yum-config-manager --enable mysql57-community &>/dev/null

    echo '[8]正在启动mysql...'
    systemctl start mysqld &>/dev/null

    echo '[9]正在设置密码,请稍后...'
    num_az=$(awk '/temporary password/{p=$NF}END{print p}' /var/log/mysqld.log)
    echo 'validate-password=OFF' >>/etc/my.cnf

    systemctl restart mysqld &>/dev/null
    read -p '请输入新密码:' passwdx
    mysqladmin -uroot -p"$num_az" password "$passwdx" &>/dev/null

    echo "[10]安装完成,密码已设置完成为:$passwdx"
    echo "[11]密码已保存到/mysql_passwd.txt目录下"
    echo "mysql57密码为:${passwdx}" >/mysql_passwd.txt
    echo "---------------------------------------------------------------------"
    sleep 2
}
function NGfunct() {
    clear
    echo "------------------------------------------------------------"
    read -p "安装前是否准备环境[y|n]:" NGfunctjc
    case $NGfunctjc in
    y)
        sleep 1
        ;;
    n)
        echo "请前往系统设置[关闭防火墙|校准时间|固定IP]"
        sleep 2
        systemft
        ;;
    *)
        Rr_QM
        NGfunct
        ;;
    esac
    echo "[1]开始安装Nginx..."
    yum -y install nginx &>/dev/null
    echo "[2]安装完成,开始配置..."
    sleep 1
    echo "[3]现在可以使用system工具开始管理Nginx了"
    sleep 1
    echo "[4]支持操作 systenctl[start|restart|stop|status]Nginx"
    echo "------------------------------------------------------------"
    sleep 1
}
function JCset() {
    clear
    echo "=================="
    echo "  开始初始化系统..."
    echo "=================="
    sleep 1
    clear
    cat <<EOF
+-----------------+
  [1]日常使用初始化
  [2]实验机初始化
  [3]极速初始化
  [q]回复q退出
+-----------------+
EOF
    read -p "请输入序列号选择:" JCrs
    case $JCrs in
    1)
        RCCSH
        ;;
    2)
        SYJC
        ;;
    3)
        Csh_js
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        JCset
        ;;
    esac
}
function fwset() {
    echo "[1]开始关闭防火墙..."
    sleep 1
    systemctl disable firewalld &>/dev/null
    echo "[2]防火墙已关闭..."
    sleep 1
    #关闭selinux
    echo "[3]开始关闭selinux..."
    sleep 1
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
    echo "[4]selinux已关闭..."
    sleep 1
    echo "[5]请在稍后重启服务器 否则关闭的服务不会生效"
    sleep 2
}
function hostTS() {
    echo "[1]开始设置开机提示..."
    sleep 1
    read -p "[2]请输入你想要设置的开机欢迎词:" TSname
    cd /etc/profile.d &>/dev/null
    sleep 1
    echo "[3]开始生成开机提示文件..."
    cat >>kj.sh <<EOF
#!/usr/bin/bash
        #登录欢迎
        cowsay -f telebears "$TSname"
        #结束
        echo "[欢迎回来!]"  
EOF
    echo "[4]开机提示设置成功:$TSname"
}
function hostnames() {
    echo "[1]开始修改主机名..."
    sleep 1
    read -p "[2]请输入你想修改的主机名:" nameht
    hostnamectl set-hostname $nameht
    echo "[3]主机名修改完毕,设置为:$nameht"
    sleep 1
}
function yumpz() {
    clear
    cat <<EOF
+--------------+
   yum仓库V2.0
+--------------+
   [1]局域仓库
   [2]阿里仓库
   [3]网易仓库 
   [4]腾讯仓库
   [q]退出程序  
+--------------+
EOF
    read -p "请输入你要部署的仓库序号:" pzcurl
    case $pzcurl in
    1)
        echo "[1]开始配置yum源文件..."
        sleep 1
        read -p "[2]请输入你想连接的yum仓库ip地址" yumpzss
        rm -f /etc/yum.repos.d/* &>/dev/null || rm -rf /etc/yum.repos.d/* && echo "检测到/etc/yum.repos.d/下有目录,已删除"
        cd /etc/yum.repos.d/
        echo "[3]开始创建yum源仓库文件..."
        cat >>jc.repo <<EOF
[base]
name=base
baseurl=http://$yumpzss/base
gpgcheck=0
enable=1

[epel]
name=epel
baseurl=http://$yumpzss/epel
gpgcheck=0
enable=1

[extras]
name=extras
baseurl=http://$yumpzss/extras
enable=1
gpgcheck=0

[updates]
name=updates
baseurl=http://$yumpzss/updates
gpgcheck=0
enable=1

[remi-safe]
name=remi-safe
baseurl=http://$yumpzss/remi-safe
gpgcheck=0
enable=1

[mysql57]
name=mysql57
baseurl=http://$yumpzss/mysql57
gpgcheck=0
enable=1 
EOF
        echo "[4]配置yum源文件结束..."
        sleep 1
        #启动动画
        echo "[5]即将开始配置yum缓存..."
        sleep 1
        #清理缓存
        echo "[6]开始清理本机yum缓存..."
        yum clean all &>/dev/null
        echo "[7]清理完毕..."
        sleep 1
        echo "[8]开始生成本地缓存..."
        yum makecache &>/dev/null
        echo "[9]缓存生成完毕..."
        #列出yum包数
        sleep 1
        echo "[10]即将检索本次安装yun包总数..."
        yum repolist
        sleep 2
        ;;
    2)
        clear
        echo "-----------------------------------------------------------------------------------------------------------"
        echo "[1]开始配置阿里yum源文件..."
        sleep 1
        echo "[2]开始清理环境..."
        rm -f /etc/yum.repos.d/* &>/dev/null || rm -rf /etc/yum.repos.d/* && echo "检测到/etc/yum.repos.d/下有目录,已删除"
        #阿里源基础包下载
        curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
        #阿里包加强包下载
        curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
        echo "[3]源文件下载完成!"
        sleep 1
        echo "[4]配置yum源文件结束..."
        sleep 1
        #启动动画
        echo "[5]即将开始配置yum缓存..."
        sleep 1
        #清理缓存
        echo "[6]开始清理本机yum缓存..."
        yum clean all &>/dev/null
        echo "[7]清理完毕..."
        sleep 1
        echo "[8]开始生成本地缓存..."
        yum makecache fast &>/dev/null
        echo "[9]缓存生成完毕..."
        #列出yum包数
        sleep 1
        echo "[10]即将检索本次安装yun包总数..."
        clear
        echo "---------------------------------------------阿里yum源仓库--------------------------------------------------"
        yum repolist
        echo "-----------------------------------------------------------------------------------------------------------"
        echo "[11]阿里仓库安装结束..."
        sleep 3
        ;;
    3)
        WYyum
        ;;
    4)
        TXyum
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        yumpz
        ;;
    esac
}
function gdIPD() {
    clear
    SHAN='\E[33;5m' #黄色闪烁警示
    RES='\E[0m'     # 清除颜色
    echo "+----------------------------+"
    echo -e "     ${SHAN} 欢迎使用固定IP程序 ${RES}"
    echo "   CSDN:M乔木             "
    echo "   邮箱: 2776617348@qq.com  "
    echo "+----------------------------+"
    echo "[1]正在配置网卡,请稍后..."
    sleep 1
    #获取当前网卡配置文件
    echo "[2]获取当前网卡配置文件"
    sleep 1
    #wkname=`ls /etc/sysconfig/network-scripts/ | grep ifcfg-ens | cut -d'-' -f2`
    wkname=$(ls /etc/sysconfig/network-scripts/ | awk '/ifcfg/{print}' | cut -d- -f2 | head -1)
    #获取IP
    echo "[3]获取IP"
    sleep 1
    ipname=$(ip -f inet a show dev $wkname | awk "/inet/{print $2}" | awk '{print $2}' | cut -d'/' -f1)
    #删除原有的网卡配置文件
    echo "[4]删除原有的网卡配置文件"
    sleep 1
    rm -rf /etc/sysconfig/network-scripts/ifcfg-$wkname
    #设置判断选择网关
    echo "[5]正在获取网关..."
    yum -y install net-tools &>/dev/null
    wgname=$(route -n | grep '^0.0.0.0' | awk '{print $2}')

    #设置判断开启DNS
    read -p "[6]是否开启DNS:[y|n] " dnsname
    case $dnsname in
    y)
        dnsa=DNS1=114.114.114.114
        dnsb=DNS2=8.8.8.8
        ;;
    n)
        dnsa=#DNS1=114.114.114.114
        dnsb=#DNS2=8.8.8.8
        ;;
    esac
    sleep 1
    #创建新的网卡配置文件
    cd /etc/sysconfig/network-scripts/
    cat >ifcfg-$wkname <<EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="$wkname"
DEVICE="$wkname"
ONBOOT="yes"
IPADDR=$ipname
PREFIX=24
GATEWAY=$wgname
$dnsa
$dnsb
EOF
    cd /root
    #重启网络服务
    echo "[7]重启网络服务..."
    systemctl restart network
    #结束配置
    echo "+--------------------------------+"
    echo -e "   ${SHAN} 本次配置结束! ${RES}    "
    echo "   CSDN:    M乔木                 "
    echo "   邮箱:    2776617348@qq.com     "
    echo -e "   ${SHAN} 欢迎下次使用! ${RES}    "
    echo "+--------------------------------+"
}
function systemset() {
    clear
    cat <<EOF
+--------------------+
  [1]设置固定IP                     
  [2]设置校准时间                    
  [3]部署yum仓库                 
  [4]设置主机名                  
  [5]设置开机提示
  [6]设置网络适配               
  [7]关闭防火墙SeLinux
  [8]初始化服务器    
  [9]返回主菜单                  
  [q]回复q退出                   
+--------------------+
EOF
    read -p "请输入序列号:" setname
    case $setname in
    1)
        gdIPD
        systemset
        ;;
    2)
        echo "开始校准时间..."
        yum -y install ntpdate &>/dev/null
        ntpdate time.windows.com &>/dev/null
        sjs=$(date)
        echo "时间校准成功"
        echo "当前时间为:"$sjs
        sleep 2
        systemset
        ;;
    3)
        yumpz
        systemset
        ;;
    4)
        hostnames
        systemset
        ;;
    5)
        hostTS
        sleep 2
        systemset
        ;;
    6)
        qhnetw
        ;;
    7)
        fwset
        systemset
        ;;
    8)
        JCset
        ;;
    9)
        menus
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        systemset
        ;;
    esac
}
function systemft() {
    clear
    cat <<EOF
+----------------+
  [1]系统信息查询  
  [2]系统功能设置
  [3]设置全局使用  
  [4]返回主菜单    
  [q]退出程序  
+----------------+
EOF
    read -p "请输入序列号:" systemname
    case $systemname in
    1)
        statusF
        ;;
    2)
        systemset
        ;;
    3)
        systemqm
        sleep 1
        systemft
        ;;
    4)
        menus
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        systemft
        ;;
    esac
}
function wbcg() {
    clear
    cat <<EOF
+--------------+
  [1]Nginx       
  [2]MySQL  
  [3]PHP-fpm      
  [4]Apache      
  [5]Redis
  [6]Docker
  [7]Zabbix-S
  [8]Zabbix-A
  [9]返回主菜单  
  [q]退出程序
+--------------+
EOF
    read -p "请输入序号:" wbcgid
    case $wbcgid in
    1)
        NGfunct
        ;;
    2)
        MySqlfunct
        ;;
    3)
        PHPfunct
        ;;
    4)
        Apachefunct
        ;;
    5)
        make_redis
        ;;
    6)
        Az_docker
        ;;
    7)
        make_ZBS
        ;;
    8)
        make_ZBA
        ;;
    9)
        menus
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        wbcg
        ;;
    esac
    cat <<EOF
+-----------+
 [1]继续部署
 [q]退出程序
+-----------+
EOF
    read -p "请输入序列号:" numwzgn
    case $numwzgn in
    1)
        wbcg
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        wbcg
        ;;
    esac
}
function passwdbcm() {
    clear
    echo "========================"
    echo " 开始生成随机安全密码..."
    echo "========================"
    nja=$(uuidgen | cut -d- -f1)
    njb=$(uuidgen | cut -d- -f2)
    njc=$RANDOM@
    njd=G$njb$nja$njc
    sleep 1
    echo "====================================="
    echo " 随机安全密码为:$njd"
    echo "====================================="
    echo "随机安全密码为:$njd 创建时间为:$(date +%F-%T)" >/sjpass.md
    sleep 1
    echo "======================================================"
    echo " 随机安全密码已生成,已存储到路径:/sjpass.md中,请妥善保管"
    echo "======================================================"
    sleep 3
}
function appstore() {
    clear
    cat <<EOF
+-------------------+
       应用商店        
+-------------------+
  [1]vim文本编辑器       
  [2]ntpdate校准时间
  [3]cowsay奶牛说        
  [4]Tab补全包           
  [5]wget下载工具        
  [6]网络工具包          
  [7]lrzsz工具  
  [8]unzip解压工具
  [9]果仁烤面筋记事本         
  [10]返回主菜单                
  [q]退出程序        
+-------------------+
EOF
    read -p "请输入序号:" appnum
    case $appnum in
    1)
        vimQM
        sleep 1
        appstore
        ;;
    2)
        echo "开始下载ntpdate校准时间工具,并校准时间..."
        yum -y install ntpdate $ >/dev/null
        ntpdate time.windows.com &>/dev/null
        echo "安装成功已退出"
        sleep 1
        appstore
        ;;
    3)
        echo "开始下载cowsay..."
        yum -y install cowsay &>/dev/null
        echo "安装成功已退出"
        sleep 1
        appstore
        ;;
    4)
        echo "开始下载tab补全包..."
        yum -y install bash-completion &>/dev/null
        echo "安装成功已退出"
        sleep 1
        appstore
        ;;
    5)
        echo "开始下载wget工具..."
        yum -y install wget &>/dev/null
        echo "安装成功已退出"
        sleep 1
        appstore
        ;;
    6)
        echo "开始下载网络工具包..."
        yum -y install net-tools &>/dev/null
        echo "安装成功已退出"
        sleep 1
        appstore
        ;;
    7)
        echo "正在上下传文件工具..."
        yum -y install lrzsz &>/dev/null
        echo "安装成功已退出"
        sleep 1
        appstore
        ;;
    8)
        echo "正在unzip解压工具..."
        yum -y install unzip &>/dev/null
        echo "安装成功已退出"
        sleep 1
        appstore
        ;;
    9)
        make_MGR
        sleep 1
        appstore
        ;;
    10)
        menus
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        appstore
        ;;
    esac
}
function menus() {
    clear
    SHAN='\E[33;5m' #黄色闪烁警示
    RES='\E[0m'     # 清除颜色
    echo "+---------------+"
    echo -e "  ${SHAN}QiaoMuOS[3.0]${RES}"
    cat <<EOF
+---------------+
   [1]系统功能               
   [2]部署服务                
   [3]Jump堡垒                                
   [4]应用商店                
   [5]扩展功能
   [6]休息一下                
   [7]联络作者                
   [q]退出程序                
+---------------+
EOF
    read -p "请输入序列号:" nova
    case $nova in
    1)
        systemft
        ;;
    2)
        wbcg
        ;;
    3)
        jqfun
        ;;
    4)
        appstore
        ;;
    5)
        onekey
        ;;
    6)
        w_djs
        ;;
    7)
        zz_ll
        ;;
    q)
        Qc_QM
        ;;
    *)
        Rr_QM
        menus
        ;;
    esac
}
#====================================================
#调用显示主菜单 menus
menus

使用方法

vi QiaoMuOS.sh
#打开一个.sh的shell文件复制粘贴以上源码

sh QiaoMuOS.sh
#运行脚本开始体验!

点赞关注评论转发感谢!

  • 28
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值