使用shell进行简单操作

news2024/11/17 8:49:17

目录

1、shell实现乘法表的打印

 2、shell判定成绩等级

3、循环创建用户


1、shell实现乘法表的打印

要求:嵌套循环实现9*9乘法表(两种方式)

创建脚本文件:vim mcl.sh

#!/bin/bash
#########################
#File name:mcl.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-02-01 18:35:17
#Description:
#########################
echo "***********for循环实现乘法表**********"
for i in {1..9}
do
    for j in {1..9}
    do
        if [ $j -le $i ]
        then
        echo -n -e "$i*$j=$[i*j]\t"
        fi
    done
echo
done

echo "**********while循环实现乘法表**********"
i=1
while ((i<=9))
do
    j=1
    while (($j<=$i))
    do
        echo -ne "$i*$j=$[i*j]\t"
        let "j++"
    done
let "i++"
echo
done

注:使用echo -n表示不换行输出内容,使用echo -e表示解析转义字符(文中为转义\t)。

测试脚本:bash mcl.sh 

 2、shell判定成绩等级

要求:判定一个成绩,范围为0-100:85-100 ->A;70-84 -> B;60-69 -> C;0-59 ->D

注:在编写时要注意成绩的边界问题,成绩不会出现小于0,大于100的。

创建脚本:vim grade_level.sh

#!/bin/bash
#########################
#File name:grade_level.sh
#Versideadfqaewd ads asd on:v1.0
#Emaial:admin@test.com
#Creaated time:2023-02-01 20:35:59
#Description:
###a######################
read -p "Please input one score:" score
if [ $score -lt 0 -o $score -gt 100 ];then
echo "wrong score"
else
case $score in
8[5-9]|9[0-9]|100)
    echo "Grade level is A"
;;
7[0-9]|8[0-4])
    echo "Grade level is B"
;;
6[0-9])
    echo "Grade level is C"
;;
*)
    echo "Grade level is D"
esac
fi

测试脚本:bash grade_level.sh

3、循环创建用户

创建脚本:vim create_user.sh

#!/bin/bash
#########################
#File name:create_user.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-02-01 21:50:58
#Description:
#########################
for user in `seq -f "user%02g" 20`
do
    echo $user
done
echo "*************"
for user in user{01..20}
do 
    echo $user
done

测试脚本:bash create_user.sh

注:两种方法运行结果一致。(用for循环实现,两种循环范围表示方法不一致)

 shell的三个练习完成。

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

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

相关文章

idea插件及插件使用方法

CamelCase (下划线转驼峰) 使用快捷键&#xff1a;altshiftu。 按住altshift再不停的按U&#xff0c;会把选中内容的单词的下划线转驼峰转大写等&#xff0c;不停的转换。 Maven Helper Maven助手 安装之后再次打开pom文件&#xff0c;文件左下角会多出一个视图。 切换到"…

软件测试基础(三) 之 软件的生命周期

软件的生命周期一、软件的生命周期简述软件的生命周期中最早可能是客户&#xff0c;可能是产品的一个想法阶段&#xff0c;然后再到后来的一个需求阶段&#xff0c;再到开发人员去进行编码&#xff0c;去进行自己的自测&#xff0c;再提到软件测试人员进行综合测试&#xff0c;…

C语言之初识指针

前言 &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f; c语言初阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:介绍c语言中的新知识—指针有关的知识. 金句分享: ✨知…

大数据舆情监控流程,TOOM大数据舆情监控范围

大数据舆情监控是一种通过大数据技术&#xff0c;分析社会舆情信息&#xff0c;掌握舆情动态的方法。它利用大数据的存储和处理能力&#xff0c;对海量的网络舆情数据进行收集、清洗、分析、呈现&#xff0c;帮助企业和机构了解公众的想法和评价&#xff0c;掌握舆情动态&#…

【正点原子FPGA连载】第三十一章Linux内核定时器实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第三十一章Linux…

【Linux】多线程详解(中)

&#x1f387;Linux&#xff1a; 博客主页&#xff1a;一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 看似不起波澜的日复一日&#xff0c;一定会在某一天让你看见坚持…

哈希表的概念(散列表)

一、基本概念 散列表特点 &#xff1a; 数据元素的关键字与存储地址直接相关 通过哈希函数建立“关键字”与“存储地址”的联系 若不同的关键字通过散列函数映射到同一个值&#xff0c;则称它们为 “同义词” 通过散列函数确定的位置已经存放了其他元素&#xff0c;则称这种…

今日题目分享(两个维度的思考,双指针/动态规划,b站视频讲解)

先直接上连接 941有效的山脉数组 845数组中的最长山脉 2100适合打劫银行的日子. 2420找到所有好下标. 什么是两个维度&#xff1f; 这里是从代码随想录里面学习到的思考方式&#xff0c;开门见山地说&#xff0c;就是两个方面去考虑题目&#xff0c;比如&#xff0c;要求第…

vue前端框架应用案例(二)实现简单的SPA应用

目录路由使用步骤案例效果案例目录结构App.vueAbout.vueHome.vueindex.jsmain.jsindex.html本博客参考尚硅谷官方课程&#xff0c;详细请参考 【尚硅谷bilibili官方】 本博客以vue2作为学习目标&#xff08;请勿混淆v2与v3的代码规范&#xff0c;否则可能出现报错&#xff09…

docker搭建nacos集群

一、先搭建MySQL主从模式 Nacos使用delby作为内嵌数据库&#xff0c;在使用集群作为部署方式时&#xff0c;内嵌数据库无法保持数据同步与数据一致&#xff0c;故一般使用外接MySQL数据库的方式保存配置文件。使用一主一从的方式搭建&#xff0c;实现主从复制与读写分离。 1.…

线缆也可能是静电危害的罪魁祸首?

众所周知&#xff0c;几乎所有的电子元器件都是对静电敏感的&#xff0c;如果处理不当&#xff0c;将恶化元器件的性能&#xff0c;甚至造成彻底损坏。在低温干燥的环境中&#xff0c;极易产生静电&#xff0c;当然静电主要还是通过摩擦产生的。除了我们所熟知的静电产生的原因…

史上最全的测试用例设计方法

目录 前言 等价类划分方法&#xff1a; 边界值分析方法&#xff1a; 错误推测方法 因果图方法 判定表驱动分析方法 总结 前言 今天还是给大家带来一些干货&#xff0c;总结了一下测试用例的设计方法。具体内容太多我总结成了文档&#xff0c;获取方法在文末。这里截取部…

Swagger2Swagger3

一、什么是Swagger swagger是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具&#xff0c;在前后端开发之前&#xff0c;后端要先出接口文档&#xff0c;前端根据接口文档来进行项目的开发&#xff0c;双方开发结束后在进行联调测试。 所…

Python程序设计之 —— 简易学生信息管理系统

大家好&#xff0c;我是 Enovo飞鱼&#xff0c;今天分享一个 Python程序设计之 —— 简易学生信息管理系统 &#xff0c;小白或者正在学习Python的小伙伴推荐阅读&#xff0c;加油&#x1f4aa;。 目录 前言 Python 简介 Python 特点 一、项目来源及背景 二、功能设计 …

PTA L1-023 输出GPLT(详解)

前言&#xff1a;本期是关于输出GPLT的详解&#xff0c;内容包括四大模块&#xff1a;题目&#xff0c;代码实现&#xff0c;大致思路&#xff0c;代码解读&#xff0c;今天你c了吗&#xff1f; 题目&#xff1a; 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字…

概论_第7章_参数估计__区间估计

先看知识结构图 一 置信区间 定义 定义&#xff1a; 设σ\sigmaσ 为总体的未知参数&#xff0c; θ^1θ^1(x1,x2,...,xn),θ^2θ^2(x1,x2,...,xn)\hat \theta_1 \hat\theta_1(x_1,x_2, ..., x_n), \hat \theta_2 \hat\theta_2(x_1,x_2, ..., x_n)θ^1​θ^1​(x1​,x2​,...,x…

YB菜菜的机器学习自学之路(七)——简单了解keras框架

YB菜菜的机器学习自学之路&#xff08;七&#xff09;——简单了解keras框架前提说明1. 机器学习框架-keras1.1 keras框架的特点1.2 keras框架实现一个神经元的建立的过程2. 举例说明2.1 一个神经元 和输入特征为1的案例2.2 多神经元 和单输入特征为1的案例2.3 多输入&#xff…

第11-15章

第11章 枚举和注解 11.1举例 要求创建季节(Season) 对象&#xff0c;请设计并完成。 但是&#xff0c;季节的值是有限的几个值&#xff08;4个季节&#xff09;&#xff0c;不可以再多。 就可以用枚举来解决 枚举&#xff08;enumeration,简写enum&#xff09;,是一组常量的集…

【自学Python】Python字符串对齐教程

Python字符串左对齐 大纲 Python字符串左对齐教程 Python 字符串的左对齐&#xff0c;即在我们需要设定 字符串 为固定的长度时&#xff0c;如果字符串的长度不够&#xff0c;则我们可以指定使用特定的字符在字符串的右边进行填充&#xff0c;从而达到左对齐的目的。 在 Pyt…

请求域名requests.(url = 地址)报错

报错&#xff1a;raise MissingSchema(requests.exceptions.MissingSchema: Invalid URL titles: No scheme supplied. Perhaps you meant http://titles?报错分析&#xff1a;response requests.get(urlurl,headersheaders) # print(response) response.encoding"utf-…