Linux centos7 bash编程训练

news2024/11/26 5:19:15

训练编写一段代码,打印输出100之内的明7暗7,同时要求每5个数字打印在一行。

此项训练主要是考察for循环的使用,及条件判断表达式的设置和不同写法的应用。

常用的for循环有四种写法(如打印1-100的整数):

        for i in $(seq 100);do echo $i;done

        for i in `seq 100`;do echo $i;done

        for ((i=0;i<=100;i++));do echo $i;done

        for i in {1..100};do echo $i;done

每种方法,都能达到期望的结果。

对于条件判断式,也有四种常见写法:

        test 表达式

        [ 表达式 ] # 表达式与[或]之间必须有空格

        [[表达式 ]]

        ((表达式))

结合上述解释,本案例代码列出如下:

cat  for_7.sh

#!/bin/bash

# 打印输出100之内的明7暗7

# 打印数字,每5个一行

cnt=0  # 设置计数变量

for ((i=1;i<=100;i++))  #这是一种C风格for循环写法

do

:<<!

         下面判断的三项条件,我们分别以不同的方式写出

         $((i%7))这种写法与`expr $i / 10`相同,这是bash中的变量运算表达式写法

         $[i%10] 这是对判断表达式结果的引用

         `expr $i / 10`写法中要注意每项之间要有空格

!

         if [[ $((i%7)) -eq 0 || $[i%10] -eq 7 || `expr $i / 10` -eq 7 ]]

         then

                   echo -ne "$i\t"

                   let cnt++

                   if [ $[cnt%5] -eq 0 ];then

                            echo

                   fi

         fi

done

把sh文件中代码进行部分改写,如下。结果相同

count=0;for i in $(seq 100); do if [[ $((i%7)) -eq 0 || $[i%10] -eq 7 || `expr $i / 10` -eq 7 ]];then echo -ne "$i\t"; let count++; if ((count%5==0));then echo; fi; fi; done

[[ ]] 中匹配字符串或通配符,不需要引号;其中可以使用逻辑运算符||。

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

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

相关文章

数据优化与可视化:3D开发工具HOOPS在BIM模型轻量化中的作用分析

在建筑和工程领域&#xff0c;BIM&#xff08;建筑信息建模&#xff09;是一种重要的数字化工具&#xff0c;但大型BIM模型往往需要大量的计算资源和存储空间。为了解决这一问题&#xff0c;HOOPS技术成为了一种关键工具&#xff0c;可以帮助实现BIM模型轻量化&#xff0c;提高…

docker 已经配置了国内镜像源,但是拉取镜像速度还是很慢(gcr.io、quay.io、ghcr.io)

前言 国内用户在使用 docker 时&#xff0c;想必都遇到过镜像拉取慢的问题&#xff0c;那是因为 docker 默认指向的镜像下载地址是 https://hub.docker.com&#xff0c;服务器在国外。 网上有关配置 docker 国内镜像源的教程很多&#xff0c;像 腾讯、阿里、网易 等等都会提供…

NVR添加rtsp流模拟GB28181视频通道

一、海康、大华监控摄像头和硬盘录像机接入GB28181平台配置 1、海康设备接入配置 通过web登录NVR管理系统&#xff0c;进入网络&#xff0c;高级配置界面&#xff0c;填入GB28181相关参数。 将对应项按刚才获取的配置信息填入即可&#xff0c;下面的视频通道的编码ID可以保持…

类和对象三大特性之继承

全文目录 继承的概念定义格式继承关系和访问限定符final 基类和派生类对象赋值转换继承中的作用域派生类的六个默认成员函数构造函数拷贝构造函数operator析构函数 友元和静态成员友元静态成员 各种继承形式菱形继承虚继承菱形虚拟继承对象模型 继承和组合 继承的概念 通过继承…

PyTorch深度学习(二)【反向传播、用pytorch实现线性回归】

反向传播 弄一个简单点的&#xff0c;两层的神经网络: 加入激活函数&#xff1a;&#xff08;不加激活函数的神经网络就是一个线性回归模型&#xff09; 用到的损失函数&#xff1a; pytorch里面的数据存储&#xff1a;tensor&#xff0c;它可以存标量、向量、矩阵、高维度数据…

帝国EmpireCMS_7.5_SC_UTF8漏洞复现

一、漏洞说明 EmpireCMS 7.5版本及之前版本在后台备份数据库时&#xff0c;未对数据库表名做验证&#xff0c;通过修改数据库表名 二、搭建环境 下载地址&#xff1a;http://www.phome.net/download/ 然后执行&#xff1a;http://127.0.0.1/EmpireCMS_7.5_SC_UTF8/upload/e/ins…

基于Levenberg-Marquardt算法的声源定位matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .................................................................... %ML if (bML1)varxs…

XGBoost实战2--数据预测保险赔偿

一、概述 本次实战基于给出的数据进行保险预测。数据集&#xff1a;Allstate Claims Severity | Kaggle 给出的训练数据是116列&#xff08;cat1-cat116&#xff09;的离散数据和14列&#xff08;con1-con14&#xff09;的连续数据。数据集中的每一行表示一个保险索赔。必须预…

Jina AI @Slush 上海 地表最酷科技创新大会来啦!

地表最酷的科技创新大会 S 创上海 2023 The Final Slush Shanghai 即将在 9 月 22 - 23 日空降上海 Jina AI 受邀参与本次大会&#xff0c;并带来好玩的互动&#xff01; 多种门票限时限量派送中 还在犹豫什么&#xff01;&#xff01; 就等你啦~ 什么是 S 创 2023 上海大会 本…

vulnhub靶机Thoth-Tech

下载地址&#xff1a;https://download.vulnhub.com/thothtech/Thoth-Tech.ova 主机发现 arp-scan -l 目标&#xff1a;192.168.21.148 端口扫描 nmap --min-rate 10000 -p- 192.168.21.148 服务扫描 nmap -sV -sT -O -p21,22,80 192.168.21.148 漏洞扫描 nmap --scriptvu…

IT技术2222

发布的方式 脚本 ansible 自动化&#xff0c;点点点

Mac电脑报错“托管配置文件格式不正确”的解决方法

本文介绍在Mac电脑中&#xff0c;复制地址链接后出现“托管配置文件格式不正确”这一报错的解决方法。 有时候&#xff0c;我们在把订阅地址粘贴到对应软件中时&#xff0c;会出现托管配置文件格式不正确: invalid mode: redir-host的报错。 出现这种报错&#xff0c;就意味着我…

座舱台架介绍与搭建流程

座舱台架介绍 车载测试中的座舱台架测试包括以下几个方面&#xff1a; 仪表盘&#xff1a;测试仪表盘的显示、功能、光线反射和防眩目性能等。评估仪表盘是否能够提供准确的驾驶信息&#xff0c;并能在各种光照条件下清晰可见。中控屏&#xff1a;测试中控屏的触摸响应、图像…

连接MySQL时报错:Public Key Retrieval is not allowed的解决方法

问题描述&#xff1a; DBeaver 连接 mysql 时报错&#xff1a;Public Key Retrieval is not allowed&#xff08;不允许公钥检索&#xff09; 解决方法&#xff1a; 连接设置 -> 驱动属性 -> allowPublicKeyRetrievalfalse&#xff08;这里的运输公钥检索是默认关闭的&a…

禁用Win10自动更新

第一步&#xff0c;winr&#xff0c;输入 gpedit.msc 并回车&#xff0c;打开【组策略】 第二步&#xff0c;依次点击 管理模板->Windows组件->Windows更新 第三步&#xff0c;双击Windows更新&#xff0c;然后在设置中双击 指定 intranet Microsoft 更新服务位置 第…

融合柯西变异和自适应莱维飞行的布谷鸟优化算法,改进布谷鸟,MATLAB代码

经常有小伙伴后台留言问&#xff1a; 作者改进的算法可不可以用来写论文呀&#xff1f; 回答是&#xff1a;当然可以&#xff01;且不用加引用&#xff01; 如果我的文章能帮助到大家写论文&#xff0c;那是作者的荣幸呀&#xff01; 布谷鸟优化算法是一个非常经典的优化算法&a…

视频怎么制作成gif动画?这个方法试试看

日常生活中我们会接触到这种各样的视频&#xff0c;随着拍摄工具的升级视频的画质越来越清楚体积也就越来越大。想要将这些视频转换成gif动图的时候要怎么操作呢&#xff1f;给大家推荐一款gif动画制作&#xff08;https://www.gif.cn/&#xff09;工具&#xff0c;上传视频仅需…

指针-字符串替换

任务描述 从标准输入读入数据&#xff0c;每行中最多包含一个字符串 “_xy_”&#xff0c;且除了字符串“_xy_”外&#xff0c;输入数据中不包括下划线字符&#xff0c;请将输入行中的 “_xy_” 替换为 “_ab_”, 在标准输出上输出替换后的结果&#xff1b;若没有进行过满足条…

Dockerfile RUN

语法 RUN cmd 例如&#xff1a; RUN apt-get update RUN [“executable”, “param1”, “param2”] 例如&#xff1a;RUN [“apt-get”,“update”] 请注意&#xff0c;每个 RUN 指令都会创建一个新的镜像层&#xff0c;因此在 Dockerfile 中使用 RUN 指令时&#xff0c;要注意…