课时71:流程控制_for循环_综合案例

2.4.5 综合案例

学习目标

这一节,我们从 信息收集、其他实践、小结 三个方面来学习。

信息收集

案例需求

	根据提示信息,选择输出 cpu 或者 内存信息。

脚本实践-采集系统负载信息

查看脚本内容
[root@localhost ~]# cat systemctl_load.sh
#!/bin/bash
# 功能:采集系统负载信息
# 版本:v0.2
# 作者:书记
# 联系:www.superopsmsb.com# 定制资源类型
resource_type=(CPU MEM)
cpu_attribute=(1 5 15)
free_attribute=(总量 使用 空闲)# 获取相关的属性信息
cpu_load=($(uptime | tr -s " " | cut -d " " -f 11-13 | tr "," " "))
free_info=($(free -m | grep Mem | tr -s " " | cut -d " " -f 2-4))
# 服务的操作提示
echo -e "\e[31m---------------查看资源操作动作---------------1: CPU  2: MEM
-------------------------------------------"'\033[0m'
# 选择服务操作类型
read -p "> 请输入要查看的资源信息类型: " resource_id
echo
if [ ${resource_type[$resource_id-1]} == "CPU" ]
thenecho -e "\e[31m\t系统CPU负载信息\e[0m"echo -e "\e[32m================================"for index in ${!cpu_attribute[@]}doecho "CPU ${cpu_attribute[$index]} min平均负载为: ${cpu_load[$index]}" doneecho -e "================================\e[0m"
elif [ ${resource_type[$resource_id-1]} == "MEM" ]
thenecho -e "\e[31m\t系统内存负载信息\e[0m"echo -e "\e[32m================================"for index in ${!free_attribute[@]}doecho "内存 ${free_attribute[$index]} 信息为: ${free_info[$index]} M" doneecho -e "================================\e[0m"
fi
脚本使用效果
[root@localhost ~]# /bin/bash systemctl_load.sh
---------------查看资源操作动作---------------1: CPU  2: MEM
-------------------------------------------
> 请输入要查看的资源信息类型: 1系统CPU负载信息
================================
CPU 1 min平均负载为: 0.00
CPU 5 min平均负载为: 0.01
CPU 15 min平均负载为: 0.05
================================
[root@localhost ~]# /bin/bash systemctl_load.sh
---------------查看资源操作动作---------------1: CPU  2: MEM
-------------------------------------------
> 请输入要查看的资源信息类型: 2系统内存负载信息
================================
内存 总量 信息为: 3770 M
内存 使用 信息为: 247 M
内存 空闲 信息为: 3302 M
================================

其他实践

需求

	按照信息提示,分别打印 三角形 和 等腰梯形*                  ****** *                ******** * *              ********** * * *            ************ * * * *          *************	

脚本内容

[root@localhost ~]# cat drawn_graph.sh
#!/bin/bash
# 功能:打印相关图形
# 版本:v0.1
# 作者:书记
# 联系:www.superopsmsb.comgraph_type=(三角形 梯形)
# 服务的操作提示
echo -e "\e[31m---------------查看可以绘制的图形---------------1: 三角形  2: 梯形
-------------------------------------------"'\033[0m'
# 选择服务操作类型
read -p "> 请输入要查看的资源信息类型: " graph_id
case ${graph_type[$graph_id-1]} in"三角形")read -p "> 请输入三角形绘制的层数: " layer_num# 定制打印n层的三角形for i in $(seq 1 ${layer_num});do# 定制打印三角形左侧的空格效果for m in $(seq $[${layer_num}-$i]);doecho -n " "done# 定制打印三角形核心部分for j in $(seq $i);doecho -n "* "done# 打印完每行就换行echodone;;"梯形")read -p "> 请输入梯形绘制的层数: " layer_num# 定制打印n层的梯形print_num=${layer_num}for i in $(seq 1 ${layer_num});do# 定制打印梯形左侧的空格效果for m in $(seq $[${layer_num}-$i]);doecho -n " "done# 定制打印梯形核心部分for j in $(seq $[$print_num]);doecho -n "*"donelet print_num+=2echodone;;*)echo -e "\e[31m\t请输入正确的绘图类型id\e[0m";;
esac
脚本执行效果
[root@localhost ~]# /bin/bash drawn_graph.sh
---------------查看可以绘制的图形---------------1: 三角形  2: 梯形
-------------------------------------------
> 请输入要查看的资源信息类型: 1
> 请输入三角形绘制的层数: 5** ** * ** * * *
* * * * *
[root@localhost ~]# /bin/bash drawn_graph.sh
---------------查看可以绘制的图形---------------1: 三角形  2: 梯形
-------------------------------------------
> 请输入要查看的资源信息类型: 2
> 请输入梯形绘制的层数: 5********************************
*************

小结


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#探索之路基础篇(2):接口Interface的概念、实现、应用范围

文章目录 1 概念2 示例代码:2.1 简单接口的实现2.2 简单的使用接口2.3 使用接口呈现多态性2.4 通过接口实现一个数组迭代器2.5 通过接口来实现松耦合的关系2.6 使用接口实现可扩展、便利性 3 使用范围与时机4 注意事项 不知道大家在学习的过程中,有没有反…

基于Springboot的个人博客系统的设计与实现

目录 1. 第5章 数据库设计 1.1. 数据库概念设计 1.1.1. 用户信息实体 1.1.2. 文章信息实体 1.1.3. 评论信息实体 1.1.4. 附件信息实体 1.1.5. 类别信息实体 1.1.6. 日志信息实体 1.2. 数据库表结构设计 基于Springboot的个人博客系统的设计与实现 第5章 数据库设计 …

笔试总结01

1、spring原理 1、spring原理 spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间的藕合度。它的原理是在applicationContext.xml加入bean标记,在bean标记中通过class属性说明具体类…

148 Linux 网络编程4 ,高并发服务器 --多路I/O转接服务器 - poll 这个非重点,

Poll 的实现和 select 很像。 实际上poll 的核心就是我们select的优化版本&#xff0c;加入了一个数组&#xff0c; 还将传入传出参数分离开了 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout);fds &#xff1a;需要监听的--文件描述符数组…

数据挖掘|数据集成|基于Python的数据集成关键问题处理

数据挖掘|数据集成|基于Python的数据集成关键问题处理 1. 实体识别2. 数据冗余与相关性分析3. 去除重复记录4. 数据值冲突的检测与处理5. 基于Python的数据集成5.1 merge()方法5.2 Concat()方法 数据集成是把来自多个数据库或文件等不同数据源的数据整合成一致的数据存储。其中…

基于docker创建深度学习开发环境

基于docker创建深度学习开发环境 记录几个链接 第一步&#xff1a;配置docker环境&#xff0c;此处大把教程&#xff0c;不再赘述第二步&#xff1a;拉取nvidia做好的cuda和cudnn镜像&#xff1a; docker pull nvcr.io/nvidia/cuda:12.2.0-devel-ubuntu20.04如果有其他需求&a…

vue3+threejs新手从零开发卡牌游戏(二):初始化场景

在删掉初始化中一些没用的代码后&#xff0c;在views目录下新建game文件夹&#xff0c;在里面新建一个index.vue&#xff0c;这里就当成游戏的主入口。 目录结构如下&#xff1a; 下面开始尝试创建场景&#xff1a; 一、添加一个div作为threejs的画布对象&#xff0c;之后整个…

ubuntu - 编译 linphone-sdk

业务需求需要定制sdk&#xff0c;首先声明我们需要的是在Android4.4上跑的sdk&#xff0c;因此本次编译的sdk最低支持为19&#xff08;不同版本需要的环境不一致&#xff09;&#xff0c;编译过程较容易&#xff0c;难点在于环境配置 环境准备 Ubuntu 18.04.6 android-sdk_r24.…

mysql分页查询多用GitCode平台

目录 一、在GitCode平台AI搜索结果&#xff08;这个更优&#xff09; 二、在百度搜索输入“mysql Java分页查询”的输出结果&#xff1a; 三、推荐的文章 四、GitCode的使用 1&#xff09;如搜索jdk11可以直接下载jdk11的包 2&#xff09;搜索开源项目 3&#xff09;如搜…

3.21 ARM day5

串口控制LED灯亮灭 main.c #include "uart4.h"int main() {//串口初始化uart4_init();//led初始化led_init();char i;int count 0;int count2 0;int count3 0;while (1){i getchar();putchar(i);//键盘输入a&#xff0c;串口工具显示aif (i 1){count;if (coun…

步进电机驱动器的接线与使用(接线详细)

今天小编就来继续学习与使用步行电机的学习&#xff0c;如果位置对你有帮助&#xff0c;评论收藏&#xff0c;点赞一下 步进电机驱动器 步进电机驱动器是一种专用于控制步进电机的电子设备&#xff0c;用于控制步进电机的转动和位置。步进电机是一种将电信号转换为机械运动的电…

Compose UI 之 Segmented buttons 分段按钮

Segmented buttons SegmentedButton 是一种分段式按钮组件,它允许用户在一组相关的选项中选择一个或几个。 上图中:① 单选的分段式按钮。② 多选的分段式按钮。 分段式按钮的几个特点: 分段式按钮是带有状态的按钮,又有单选和多选之分。 从设计上将,不论是单选或是多选…

第二十九章 配置 Web Gateway 的默认参数 - 与 IRIS 的连接(二)

文章目录 第二十九章 配置 Web Gateway 的默认参数 - 与IRIS 的连接(二)Event Log Rotation SizeMaximum Logged Request SizeSSL/TLS Library PathPreserve Mode Exclude File Types 第二十九章 配置 Web Gateway 的默认参数 - 与IRIS 的连接(二) Event Log Rotation Size 这…

fastjson2 反序列化包含多层泛型结构的实体类

前言 由于使用到httpUtill来调用接口 工具类的返回是字符串 其中接口的实现返回值是个多层泛型结构的实体类 例如Result<Page<UserDto>> 当使用 JSON.parseObject("res",new TypeReference<Result<Page<UserDto>>>{})发现在page中存在…

【GPT概念-03】:人工智能中的注意力机制

说明 注意力机制生成分数&#xff08;通常使用输入函数&#xff09;&#xff0c;确定对每个数据部分的关注程度。这些分数用于创建输入的加权总和&#xff0c;该总和馈送到下一个网络层。这允许模型捕获数据中的上下文和关系&#xff0c;而传统的固定序列处理方法可能会遗漏这…

QT(19)-QNetworkRequest

attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue QVariant()) const 获取指定的请求属性。如果该属性未设置&#xff0c;则返回默认值。 hasRawHeader(const QByteArray &headerName) const 检查是否存在指定名称的原始请求头。 header(Q…

虚拟机扩展:虚拟机快照

虚拟机快照 在学习阶段我们无法避免的可能损坏Linux操作系统。如果损坏的话&#xff0c;重新安装一个Linux操作系统就会十分麻烦。 那我们就可以通过快照将当前虚拟机的状态保存下来&#xff0c;在以后系统损坏时通过快照恢复虚拟机到保存的状态。 制作并还原快照 在VMware …

静态方法 static foo()

静态方法&#xff08;Static Method&#xff09;是编程语言中的一种特殊方法&#xff0c;其特点是不依赖于类的实例即可被调用。在C和许多其他面向对象的编程语言中&#xff0c;静态方法通过类名来直接调用&#xff0c;而无需创建类的实例。这些方法属于类本身&#xff0c;而不…

数据结构(二)队列和栈

Java提供了java.util.Stack类来表示栈数据结构。Stack类是Vector类的子类&#xff0c;它实现了一个标准的后进先出&#xff08;LIFO&#xff09;栈。同样也提供了Queue接口&#xff0c;表示一系列按照特定顺序排列的元素&#xff0c;其中最早添加的元素将最先被移除&#xff08…

SAP HCM 0008信息类型间接评估与直接评估

如果在间接评估模块输入就是间接评估&#xff08;tarif是读取下图中的数据 a代表不需要输入工资项&#xff0c;b表示需要找工资相&#xff09; 不输入就是直接评估需要客户自己输入数字 第2个情况 summe求和 &#xff08;比如在0008中输入9000与9001 那么自动求出9002工资项数…