Linux centos7 bash编程(小练习)

一、打印九九乘法口诀

这一个for循环嵌套的小练习,难度不大。提供一种写法,供参考:

#!/bin/bash

# 文件名:99table.sh

# 打印输出九九乘法口诀表

for i in {1..9}
do
        for ((j=1;j<=$i;j++))
        do 
                echo -ne "$j*$i=$[j*i]\t"  #用制表符分隔,表格整齐
        done
        echo
done

编写为文件,方便保存。执行后效果:

如果写为一行,可以直接在命令行执行:

for i in {1..9}; do for ((j=1;j<=$i;j++));do echo -ne "$j*$i=$[j*i]\t";done;echo;done

 二、打印黑白国际象棋盘

可以调整背景颜色,打印不同的对比色!

#!/bin/bash

#打印输出黑白国际象棋盘

for i in {1..8}
do
        for j in {1..8}
        do  sum=$[i+j]
                if [ $[sum%2] -eq 0 ];then
                        echo -ne "\e[40m  \e[m"
                else
                        echo -ne "\e[47m  \e[m"
                fi
        done
        echo
done

执行效果:

写为一行,可以直接在命令行执行:

 for i in {1..8}; do for j in {1..8};do sum=$[i+j]; if [ $[sum%2] -eq 0 ];then echo -ne "\e[40m  \e[m"; else  echo -ne "\e[47m  \e[m";fi;done;echo;done

修改40m和47m为不同数值,可获得不同效果。

41m --->  45m

 42m --->46m

 小结

编程时注意代码结构的正确;训练时可以多设置一些参数,查看效果。

可以采用不同的思路编程,为了达到目标,多练习,多动手!

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

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

相关文章

雅思写作 三小时浓缩学习顾家北 笔记总结(三)

目录 顾家北饥饿网100个句子翻译 "Heritage sites threatened by urban development" "Heritage sites are threatened by urban development." We should not ignore face-to-face communication. We cannot ignore face-to-face communication. So…

使用Python对数据的操作转换

1、列表加值转字典 在Python中&#xff0c;将列表的值转换为字典的键可以使用以下代码&#xff1a; myList ["name", "age", "location"] myDict {k: None for k in myList} print(myDict) 输出&#xff1a; {name: None, age: None, loca…

给oracle逻辑导出clob大字段、大数据量表提提速

文章目录 前言一、大表数据附&#xff1a;查询大表 二、解题思路1.导出排除大表的数据2.rowid切片导出大表数据Linux代码如下&#xff08;示例&#xff09;&#xff1a;Windows代码如下&#xff08;示例&#xff09;&#xff1a;手工执行代码如下&#xff08;示例&#xff09;&…

C++11——右值引用和移动语义

✅<1>主页&#xff1a;&#xff1a;我的代码爱吃辣 &#x1f4c3;<2>知识讲解&#xff1a;C11——右值引用 ☂️<3>开发环境&#xff1a;Visual Studio 2022 &#x1f4ac;<4>前言&#xff1a;右值引用&#xff0c;是C11更新的一个非常有价值的语法&am…

【网络安全防护】上海道宁与Bitdefender帮助您构建弹性网络并降低安全运营成本

在网络的世界中 风险变得更加常见与复杂 企业需要从网络安全转向网络弹性 复杂的网络攻击已非常普遍 在面临攻击时 企业如何保持业务连续性&#xff1f; Bitdefender GravityZone将 风险分析、安全加固、威胁预防 检测和响应功能相结合 帮助您构建弹性网络 并降低安全…

LinkedHashMap实现LRU缓存cache机制,Kotlin

LinkedHashMap实现LRU缓存cache机制&#xff0c;Kotlin LinkedHashMap的accessOrdertrue后&#xff0c;访问LinkedHashMap里面存储的元素&#xff0c;LinkedHashMap就会把该元素移动到最尾部。利用这一点&#xff0c;可以设置一个缓存的上限值&#xff0c;当存入的缓存数理超过…

手摸手2-springboot编写基础的增删改查

目录 手摸手2-springboot编写基础的增删改查创建controller层添加service层接口service层实现添加mapper层mapper层对应的sql添加扫描注解,对应sql文件的目录 手摸手2-springboot编写基础的增删改查 创建controller层 实现 test 表中的添加、修改、删除及列表查询接口&#x…

Unity——工程与资源

本文将详细介绍Unity工程的文件夹结构&#xff0c;以及动态加载资源的技术要点 一、Unity项目的文件夹结构 1.工程文件夹 在新建工程时&#xff0c;Unity会创建所有必要的文件夹。第一级文件夹有Assets,Library,Logs,Packages,ProjectSettings。 Assets&#xff1a;最主要的文…

Oracle Scheduler学习

参考文档&#xff1a; Primary Note: Overview of Oracle Scheduler (Doc ID 1485539.1) Oracle Database Administrators Guide 12c Release 1 (12.1) E17636-21 Chapter(30) Administering Oracle Scheduler Examples of Using the Scheduler http://docs.oracle.com/cd/E166…

stable diffusion实践操作-提示词插件安装与使用

本文专门开一节写提示词相关的内容&#xff0c;在看之前&#xff0c;可以同步关注&#xff1a; stable diffusion实践操作 正文 1、提示词插件安装 1.1、 安装 1.2 加载【应用更改并重载前端】 1.3 界面展示 1.3.-4 使用 里面有个收藏列表&#xff0c;可以收藏以前的所有提示…

安全攻防基础以及各种漏洞库

安全攻防基础以及各种漏洞库 信息搜集企业信息搜集1. 企业架构2. ICP备案查询&#xff0c;确定目标子域名3. 员工信息&#xff08;搜集账号信息、钓鱼攻击&#xff09;4. 社交渠道 域名信息搜集IP搜集信息泄露移动端搜集打点进内网命令和控制&#xff08;持续控制&#xff09;穿…

CSC2121A

半桥架构的栅极驱动电路CSC2121A CSC2121系列是一款高性价比的半桥架构的栅极驱动专用电路&#xff0c;用于大功率MOS管、IGBT管栅极驱动。IC内部集成了逻辑信号处理电路、死区时间控制电路、欠压保护电路、电平位移电路、脉冲滤波电路及输出驱动电路&#xff0c;专用于无刷电…

10 行代码能做什么?

10 行代码能做什么&#xff1f; 写一串 SQL Join&#xff0c;统计全渠道市场营销的 ROI 用 JS 画个饼图&#xff0c;展示最有效的广告投放策略 用 Python 写段算法&#xff0c;分析销量骤降的原因是什么 …… 数据出错了&#xff0c;写个对数脚本 -_-|| AI 时代&#xff0c;…

SpringMVC之文件上传和下载

文章目录 前言一、文件下载二、文件上传总结 前言 实现下载文件和上传文件的功能。 一、文件下载 使用ResponseEntity实现下载文件的功能 RequestMapping("/testDown") public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOEx…

Zookeeper的使用

一、Zookeeper简介 分布式协调框架&#xff0c;小型的树形结构数据共享储存系统。 zookeeper的应用场景 集群管理 注册中心 配置中心 发布者将数据发布到ZooKeeper一系列节点上面&#xff0c;订阅者进行数据订阅&#xff0c;当数据有变化时&#xff0c;可及时得到数据的变…

Java基础二十三(枚举)

1> 枚举 在 Java 中&#xff0c;枚举&#xff08;Enum&#xff09;是一种特殊的数据类型&#xff0c;用于定义一组命名的常量。枚举常用于表示一组相关的常量&#xff0c;并且可以增加额外的属性和方法。 在 Java 中&#xff0c;枚举是一种类&#xff0c;可以定义成员变量和…

如何成为一个开发项目的负责人,需要哪些能力跟作为

目标&#xff1a;帮助项目解决一切障碍&#xff0c;让项目成员每天专心投入到工作中去&#xff0c;宁愿做错&#xff0c;也不能什么都不做。 最终目的&#xff1a;使项目在预期时间内完成&#xff0c;达到预期要求&#xff0c;甚至超出预期效果&#xff0c;同时形成公司自己的…

指针(个人学习笔记黑马学习)

1、指针的定义和使用 #include <iostream> using namespace std;int main() {int a 10;int* p;p &a;cout << "a的地址为&#xff1a;" << &a << endl;cout << "a的地址为&#xff1a;" << p << endl;…

Hive学习(12)Hive常用日期函数

1、hive返回当天三种方式 select current_date; --返回年月日 --2017-06-15 select current_timestamp; --返回年月日时分秒 --2017-06-15 19:54:44 SELECT from_unixtime(unix_timestamp()); --2017-06-15 19:55:042、from_unixtime&#xff1a;转化unix时间戳到当前时区的时…

如何自己实现一个丝滑的流程图绘制工具(八) 创建节点的文本标签

背景 节点的文本标签不希望是通过节点编辑实现&#xff0c;而是拿到节点名字渲染上去&#xff0c;包括连接线 createLabel(element, name, parent) {const modeling this.bpmnModeler.get(modeling)let labelCenter {}// 连接线上的标签if (element.type bpmn:SequenceFlo…