每日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() {clearecho "开始部署Agent..."sleep 1read -p "请输入Server端服务器IP:" AG_IPrpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm &>/dev/nullyum clean all &>/dev/null && yum makecache fast &>/dev/nullyum -y install zabbix-agent &>/dev/nullsed -i '/^Server=127.0.0.1/d' /etc/zabbix/zabbix_agentd.confecho "Server=${AG_IP}" >>/etc/zabbix/zabbix_agentd.confsed -i '/^ServerActive=127.0.0.1/d' /etc/zabbix/zabbix_agentd.confecho "ServerActive=${AG_IP}" >>/etc/zabbix/zabbix_agentd.confagent_H=$(hostname)sed -i '/^Hostname=Zabbix server/d' /etc/zabbix/zabbix_agentd.confecho "Hostname=${agent_H}" >>/etc/zabbix/zabbix_agentd.confecho 'zabbix ALL=(ALL) NOPASSWD: ALL' >>/etc/sudoersecho 'EnableRemoteCommands=1' >>/etc/zabbix/zabbix_agentd.confecho 'LogRemoteCommands=1' >>/etc/zabbix/zabbix_agentd.confsystemctl restart zabbix-agent &>/dev/nullsystemctl enable zabbix-agent &>/dev/nullecho "Agent端已部署完成!Server端为:${AG_IP}"
}
function make_ZBS() {#环境检测clearecho "--------------------------------------------------------"echo "[1]开始检测防火墙Selinux..."f_w=$(systemctl status firewalld | awk '/Active:/{print $2}')s_l=$(getenforce)#判断是否关闭 没关闭就结束运行if [ ${f_w} = "inactive" -a ${s_l} = "Disabled" ]; thenecho "[2]防火墙SeLinux已关闭..."sleep 1echo "[3]正在飞速安装zabbix中..."sleep 1elseecho "[2]防火墙SeLinux未关闭..."systemctl disable firewalld &>/dev/nullsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsleep 1echo "[3]正在关闭..."sleep 1echo "[4]防火墙SeLinux已关闭 请重启机器生效..."echo "--------------------------------------------------------"exit 0fi#安装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 1echo '[5]开始清理环境...'yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y &>/dev/nulluserdel -r mysql &>/dev/nullrm -rf /etc/my* &>/dev/nullrm -rf /var/lib/mysql &>/dev/nullrm -rf /usr/bin/mysql &>/dev/nullyum -y erase $(rpm -qa | egrep "mysql|mariadb") &>/dev/nullecho '[6]正在下载mysqlyum源...'yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm &>/dev/nullecho '[7]正在安装mysql...'yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community &>/dev/nullyum -y groupinstall "Development Tools" &>/dev/nullecho '[8]正在配置mysql...'yum -y install yum-utils &>/dev/nullyum-config-manager --disable mysql80-community &>/dev/nullyum-config-manager --enable mysql57-community &>/dev/nullecho '[9]正在启动mysql...'systemctl start mysqld &>/dev/nullecho '[10]正在设置密码,请稍后...'num_az=$(awk '/temporary password/{p=$NF}END{print p}' /var/log/mysqld.log)echo 'validate-password=OFF' >>/etc/my.cnfsystemctl restart mysqld &>/dev/nullread -p '请输入新密码:' passwdxmysqladmin -uroot -p"$num_az" password "$passwdx" &>/dev/nullecho "[11]安装完成,密码已设置完成为:$passwdx"echo "[12]密码已保存到/mysql_passwd.txt目录下"echo $passwdx >/mysql_passwd.txtyum 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/nullyum -y install yum-utils &>/dev/nullrpm -qa | grep yum-utils &>/dev/nullif [ $? -eq 1 ]; thensleep 1yum -y install yum-utils &>/dev/nullfiyum-config-manager --enable zabbix-frontend &>/dev/nullyum -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/nullmysql -p"${passwdx}" -e "create user zabbix@localhost identified by 'admin';" &>/dev/nullmysql -p"${passwdx}" -e 'grant all privileges on zabbix.* to zabbix@localhost;' &>/dev/nullmysql -p"${passwdx}" -e 'set global log_bin_trust_function_creators = 1;' &>/dev/nullmysql -p"${passwdx}" -e 'flush privileges;' &>/dev/nullecho "[15]zabbix登录数据库密码为:admin"echo "zabbix登录数据库密码为:admin" >>/zabbix-mysql.txtzcat /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/nullecho "DBHost=localhost" >>/etc/zabbix/zabbix_server.confecho "DBPassword=admin" >>/etc/zabbix/zabbix_server.confecho "DBPort=3306" >>/etc/zabbix/zabbix_server.conf#关联phpsed -i '2s/^#//;3s/^#//' /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.confsed -i '38,118d' /etc/opt/rh/rh-nginx116/nginx/nginx.confsed -i 's/listen.acl_users = apache/listen.acl_users = apache,nginx/' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.confsed -i '25d' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.confecho '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/nullsystemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm &>/dev/nullecho "[18]zabbix已部署 后续请登录浏览器安装..."echo "--------------------------------------------------------"
}
function Az_docker() {clear#检测防火墙selinuxecho "------------------------------------------------------------"echo "[1]开始检测防火墙SeLinux是否关闭..."sleep 1f_w=$(systemctl status firewalld | awk '/Active:/{print $2}')s_l=$(getenforce)#判断是否关闭 没关闭就结束运行if [ ${f_w} = "inactive" -a ${s_l} = "Disabled" ]; thenecho "[2]防火墙SeLinux已关闭..."sleep 1echo "[3]正在飞速安装docker中..."sleep 1elseecho "[2]防火墙SeLinux未关闭..."systemctl disable firewalld &>/dev/nullsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsleep 1echo "[3]正在关闭..."sleep 1echo "[4]防火墙SeLinux已关闭 请重启机器生效..."echo "------------------------------------------------------------"exit 0fi#防火墙关了的话就继续开启路由转发echo "[4]正在开启路由转发虚拟网桥..."echo 'net.ipv4.ip_forward =1' >>/etc/sysctl.confecho 'net.bridge.bridge-nf-call-iptables =1' >>/etc/sysctl.confecho 'net.bridge.bridge-nf-call-ip6tables =1' >>/etc/sysctl.confsysctl -p &>/dev/nullsleep 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/nullsleep 1echo "[6]开始安装docker依赖..."yum install -y yum-utils device-mapper-persistent-data lvm2 &>/dev/nullsleep 1echo "[7]开始配置阿里docker源..."yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo &>/dev/nullyum clean all &>/dev/null && yum makecache fast &>/dev/nullsleep 1echo "[8]开始安装docker..."yum -y install docker-ce doker-ce-cli containerd.io &>/dev/nullsleep 1echo "[9]开始配置开机自启..."systemctl start docker &>/dev/nullsystemctl enable docker &>/dev/nullsystemctl restart docker &>/dev/nullsleep 1echo "[10]开始配置阿里云镜像加速器..."clearecho "[11]开始建立docker加速器放置目录..."mkdir -p /etc/dockersleep 1echo "[12]开始写入配置..."tee /etc/docker/daemon.json &>/dev/null <<-'EOF'
{"registry-mirrors": ["https://2zwkpj0m.mirror.aliyuncs.com"]
}
EOFsleep 1echo "[13]重新加载system工具..."systemctl daemon-reload &>/dev/nullsleep 1echo "[14]重新启动docker..."systemctl restart docker &>/dev/nullsleep 1echo "[15]阿里云镜像加速器配置完毕!"sleep 1echo "[16]开始拉取基础镜像centos:7..."docker pull centos:7 &>/dev/nullsleep 1echo "[17]已部署docker及第一个基础镜像centos7已配置完毕!"sleep 1echo '[18]开始使用你的一个docker命令体验激动人心的docker吧!'sleep 1echo '[19]docker images:查看已下载镜像'sleep 1echo '[20]docker info:查看docker基本信息'sleep 1echo '[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:elseread -p "该资产已注册 是否覆盖[y|n]" jq_numcase $jq_num iny):;;n)echo "重新加载注册界面..."sleep 1jqzh;;*)Rr_QMjqzh;;esacfi
}
function jq_d() {if [ $? -eq 0 ]; then:elseclearecho "该资产还没有注册..."sleep 1echo "请在资产注册信息以后再使用!"sleep 1jqfunfi
}
function jq_f() {jq_fQ=$(ls /opt/ | grep QMOSjQ &>/dev/null && echo 1 || echo 2)case $jq_fQ in1):;;2)clearecho "---------------------------"echo " 检测到环境不支持运行堡垒机"sleep 1echo " 前往堡垒机主界面使用[环境部署]"echo "---------------------------"sleep 1jqfun;;esac
}
function Qc_QM() {clearcat <<EOF
============="已退出程序!"
=============
EOFexit 0
}
function Rr_QM() {clearcat <<EOF
============================="序列号输入错误 稍后将重新运行!"
=============================
EOFsleep 1
}
function w_djs() {cleara=0echo "-------------------------------"read -p "休息一会吧!身体最重要[单位s/秒]:" w_numwhile [ $a -lt $w_num ]; dolet a++echo "[${a}]已休息:${a}秒"sleep 1doneecho "-------------------------------"echo "本次共休息:${a}秒"
}
function make_redis() {#自动化部署Redisclearecho "----------------------------------------------------------------------------"DATA=$(ls / | grep data)if [ -z $DATA ]; thenecho "[1]检查是否下载wget..."yum -y install wget &>/dev/nullecho "[2]创建放置redis目录..."mkdir -p /data/appecho "[3]进入工作目录..."cd /data/appecho "[4]下载redis..."wget http://download.redis.io/releases/redis-5.0.10.tar.gz &>/dev/nullecho '[5]解压redis...'tar xzf redis-5.0.10.tar.gz &>/dev/nullecho '[6]重命名redis...'mv redis-5.0.10/ redisecho '[7]下载编译工具...'cd redis/ && yum install -y gcc make &>/dev/nullecho "[8]安装redis..."make &>/dev/nullcd /data/app/redisecho "[9]备份redis配置文件..."cp redis.conf redis.conf.backupecho "[10]开始修改配置文件..."sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' redis.confsed -i '/^dir/d' redis.confecho 'dir /data/app/redis/data' >>redis.confsed -i '/^logfile/d' redis.confecho 'logfile /var/log/redis.log' >>redis.confsed -i '/^daemonize/d' redis.confecho 'daemonize yes' >>redis.confmkdir /data/app/redis/datatouch /var/log/redis.logecho "[11]开始配置全局启用reids..."echo 'export PATH=/data/app/redis/src:$PATH' >>/etc/profilesource /etc/profile &>/dev/nullecho "[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
EOFcd - &>/dev/nullsystemctl daemon-reloadsystemctl start redis.servicecd /data/app/redisecho "[13]安装完毕!"sleep 1echo "请使用./data/app/redis/src/redis-cli -h localhost -p 6379 命令登录使用redis!"echo "如果环境变量不生效,请手动执行命令:sourece /etc/profile"echo "----------------------------------------------------------------------------"sleep 2elseecho "[1]安装失败..."sleep 1echo "[2]原因根目录下存在冲突目录..."sleep 1echo "[3]请在删除/data目录或重命名后重新运行本程序...!"echo "----------------------------------------------------------------------------"exit 2fi
}
function make_MGR() {
相关文章:

每日shell脚本之超级整合程序3.0
每日shell脚本之超级整合程序3.0 本期带来之前的升级版2.0整合脚本程序,学习工作小利器,同时模块化构建方便二次开发。 上图 上源码 #!/usr/bin/bash # *******************************************# # * CDDN : M乔木 # # * qq邮箱 …...

Docker介绍与使用
Docker介绍与使用 目录: 一、Docker介绍 1、Docker概述与安装 2、Docker三要素 二、Docker常用命令的使用 1、镜像相关命令 2、容器相关命令 三、Docker实战之下载mysql、redis、zimg 一、Docker介绍 Docker是一个开源的应用容器引擎,让开发者可以打包…...

Gin框架: 使用go-ini配置参数与不同环境下的配置部署
关于 INI 配置文件与go-ini 1 )概述 在INI配置文件中可以处理各种数据的配置INI文件是一种简单的文本格式,常用于配置软件的各种参数go-ini 是地表 最强大、最方便 和 最流行 的 Go 语言 INI 文件操作库 Github 地址:https://github.com/go-…...

探究网络工具nc(netcat)的使用方法及安装步骤
目录 🐶1. 什么是nc(netcat)? 🐶2. nc(netcat)的基本使用方法 2.1 🥙使用 nc 进行端口监听 2.2 🥙使用 nc 进行端口扫描 2.3 🥙使用 Netcat 进行文件传输…...

深入浅出JVM(四)之类文件结构
深入浅出JVM(四)之类文件结构 Java文件编译成字节码文件后,通过类加载机制到Java虚拟机中,Java虚拟机能够执行所有符合要求的字节码,因此无论什么语言,只要能够编译成符合要求的字节码文件就能够被Java虚拟…...

Anaconda下的pkgs占用空间13G,如何安全的清理(已解决)
方法一:让Anaconda自行决定清理 执行命令 conda clean -p 我的Anaconda安装在D盘,具体位置如下。你的应该也能找到对应的位置 D:\*****\**\Anaconda3\pkgs (base) C:\Users\Liu_J>conda clean -p WARNING: C:\Users\***\.conda\pkgs does not ex…...

压缩感知常用的重建算法
重建算法的基本概念 在压缩感知(Compressed Sensing, CS)框架中,重建算法是指将从原始信号中以低于奈奎斯特率采集得到的压缩测量值恢复成完整信号的数学和计算过程。由于信号在采集过程中被压缩,因此重建算法的目标是找到最符合…...

c语言经典测试题2
1.题1 我们来思考一下它的结果是什么? 我们来分析一下:\\是转义为字符\,\123表示的是一个八进制,算一个字符,\t算一个字符,加上\0,应该有13个,但是strlen只计算\0前的字符个数。所以…...

⭐北邮复试刷题105. 从前序与中序遍历序列构造二叉树__递归分治 (力扣每日一题)
105. 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,…...

机房预约系统(个人学习笔记黑马学习)
1、机房预约系统需求 1.1系统简介 学校现有几个规格不同的机房,由于使用时经常出现“撞车“现象,现开发一套机房预约系统,解决这一问题。 1.2身份简介 分别有三种身份使用该程序 学生代表:申请使用机房教师:审核学生的预约申请管理员:给学生、教师创建账…...

7、内网安全-横向移动PTH哈希PTT票据PTK密匙Kerberos密码喷射
用途:个人学习笔记,有所借鉴,欢迎指正 目录 一、域横向移动-PTH-Mimikatz&NTLM 1、Mimikatz 2、impacket-at&ps&wmi&smb 二、域横向移动-PTK-Mimikatz&AES256 三、域横向移动-PTT-漏洞&Kekeo&Ticket 1、漏…...

【前端】夯实基础 css/html/js 50个练手项目(持续更新)
文章目录 前言Day 1 expanding-cardsDay 2 progress-steps 前言 发现一个没有用前端框架的练手项目,很适合我这种纯后端开发夯实基础,内含50个mini project,学习一下,做做笔记。 项目地址:https://github.com/bradtr…...

ELK入门(四)-logstash
Logstash Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的存储库中。 Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中…...

laravel-admin的3个开发细节调整
在使用laravel-admin开发的过程中,根据官方开发文档Laravel admin | laravel-admin基本都能实现想要的效果,这里补充3个文档上没有描述的细节 Laravel8命令行创建控制器调整 在laravel-admin中可以使用php artisan admin:make UserController --modelAp…...

Redis--原理篇-数据结构(底层)
Redis数据结构 动态字符串SDS IntSet 统一大小并且内存地址连续 为了方便寻址 Dict 基本结构 扩容 收缩 Ziplist(P150 后半部分再看) Quicklist skiplist(满足中间查询 RedisObject...

OpenAI发布Sora模型,可根据文字生成逼真AI视频
早在2022年11月30日,OpenAI第一次发布人工智能聊天机器人ChatGPT,随后在全世界掀起了人工智能狂潮,颠覆了一个又一个行业。在过去的一年多的时间里,chatGPT的强大功能改变了越来越多人的工作和生活方式,成为了世界上用…...

视频生成模型:构建虚拟世界的模拟器 [译]
原文:Video generation models as world simulators 我们致力于在视频数据上开展生成模型的大规模训练。具体来说,我们针对不同时长、分辨率和宽高比的视频及图像,联合训练了基于文本条件的扩散模型。我们采用了一种 Transformer 架构&#…...

MySQL数据库基础(十二):子查询(三步走)
文章目录 子查询(三步走) 一、子查询(嵌套查询)的介绍 二、子查询的使用 三、总结 子查询(三步走) 一、子查询(嵌套查询)的介绍 在一个 select 语句中,嵌入了另外一个 select …...

2-21算法习题总结
由于蓝桥杯的题,我不知道从怎么复制,就只能粘贴图片了 翻硬币 代码 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String start sc.next();char[] starts start.toCharArray();String end sc…...

常见的排序算法整理
1.冒泡排序 1.1 冒泡排序普通版 每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较,若小于相邻元素,则交换两者位置,同时将较大元素作为下一个比较的基准元素,继续将该元素与其相邻的元素进行比…...

stm32——hal库学习笔记(定时器)
这里写目录标题 一、定时器概述(了解)1.1,软件定时原理1.2,定时器定时原理1.3,STM32定时器分类1.4,STM32定时器特性表1.5,STM32基本、通用、高级定时器的功能整体区别 二、基本定时器࿰…...

方法鉴权:基于 Spring Aop 的注解鉴权
在Spring框架中,可以使用面向切面编程(AOP)来实现注解鉴权。这通常涉及到定义一个切面(Aspect),该切面会在方法执行前进行拦截,并根据注解value值来决定是否允许执行该方法。 简单思路…...

多模态相关论文笔记
(cilp) Learning Transferable Visual Models From Natural Language Supervision 从自然语言监督中学习可迁移的视觉模型 openAI 2021年2月 48页 PDF CODE CLIP(Contrastive Language-Image Pre-Training)对比语言图像预训练模型 引言 它比ImageNet模型效果更好,…...

maven 打包命令
Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具。 Maven的核心功能便是合理叙述项目间的依赖关系,通俗点讲,就是通过po…...

开源模型应用落地-业务优化篇(六)
一、前言 经过线程池优化、请求排队和服务实例水平扩容等措施,整个AI服务链路的性能得到了显著地提升。但是,作为追求卓越的大家,绝不会止步于此。我们的目标是在降低成本和提高效率方面不断努力,追求最佳结果。如果你们在实施AI项目方面有经验,那一定会对GPU服务器的高昂…...

编程笔记 Golang基础 015 数据类型:布尔类型
编程笔记 Golang基础 015 数据类型:布尔类型 在Go语言中,布尔类型(bool)是一种基本数据类型,用于表示逻辑值,即真或假、是或否的情况。它主要用于条件判断和逻辑运算。 定义与取值: Go语言中的布…...

腾讯云OSS文件上传功能
腾讯云COS介绍 腾讯云COS(Cloud Object Storage)是一种基于对象的存储服务,用于存储和管理海量的非结构化数据,如图片、音视频文件、备份数据等。它具有以下特点和优势: 高可靠性:采用分布式存储架构&…...

2023 re:Invent 用 PartyRock 10 分钟构建你的 AI 应用
前言 一年一度的亚马逊云科技的 re:Invent 可谓是全球云计算、科技圈的狂欢,每次都能带来一些最前沿的方向标,这次也不例外。在看完一些 keynote 和介绍之后,我也去亲自体验了一些最近发布的内容。其中让我感受最深刻的无疑是 PartyRock 了。…...

如何使用idea连接服务器上的mysql?
安全组进行开放 具体步骤 关闭防火墙 开放端口号 重启防火墙 firewall-cmd --reload在mysql进行修改配置 update user set host % where user root;flush privileges;使得其他网络也可以连接这个数据库 另外如果想要sqlyog或者其他图形化界面要连接到数据库可以看下面这…...

主流开发语言和开发环境介绍
主流开发语言和开发环境介绍文章目录 ⭐️ 主流开发语言:2024年2月编程语言排行榜(TIOBE前十)⭐️ 主流开发语言开发环境介绍1.Python1.1 **IDLE**1.2 **PyCharm**1.3 **Anaconda**1.4 **Jupyter Notebook**1.5 **Sublime Text** 2.C2.1 **De…...