Linux Shell 编程,运算符,条件与分支,循环

news2025/1/10 1:58:58

Linux Shell 编程,运算符,条件与分支,循环

  • 1.Shell运算符
  • 2.判断语句
  • 3.for循环
  • 4.while循环

1.Shell运算符

学习如何在shell中进行各种运算操作

在这里插入图片描述

案例:计算(5+7)×3的值:

#!/bin/bash
res=$(((5+7)*3))
echo "res=$res"
ans=$[(5+7)*3] # 推荐这种写法
echo "ans=$ans"

结果:

在这里插入图片描述


2.判断语句

判断语句的基本语法:

在这里插入图片描述

案例:判断字符串相等:

#!/bin/bash
if [ "ok" = "ok" ]
then
  echo "equal!"
fi

在这里插入图片描述

案例:数字大小比较:

#!/bin/bash
if [ 23 -ge 22 ]
then
  echo "23 is > 22"
fi

在这里插入图片描述

案例:判断文件是否存在:

#!/bin/bash
if [ -f /aaa.txt ]
then
  echo "exist"
else
  echo "no exist"
fi

在这里插入图片描述

案例:if else-if else演示:

#!/bin/bash
if [ 22 -gt 22 ]
then
    echo "22 > 22"
elif [ 22 -eq 22 ] 
then 
    echo "22 = 22" 
else
    echo "22 < 22"
fi

在这里插入图片描述


3.for循环

与其他编程语言类似,Shell支持for循环。

案例:演示基本的for循环:

#!/bin/bash
for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done

在这里插入图片描述

案例:顺序输出字符串中的字符:

#!/bin/bash
for str in This is a string
do
    echo $str
done

在这里插入图片描述

案例:计算1到100的值:

#!/bin/bash
sum=0
for (( i=1;i<=100;i++ ))
do
  sum=$[$sum+$i]
done
echo "total:$sum"

在这里插入图片描述


4.while循环

while 循环用于不断执行一系列命令,也用于从输入文件中读取数据

案例:while循环计算1加到n的值:

#!/bin/bash
sum=0
i=1
while [ $i -le $1 ]
do
  sum=$[$sum+$i]
  i=$[$i+1]
done
echo "sum=$sum"

在这里插入图片描述

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

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

相关文章

游戏物体GameObject

在unity中所有游戏物体都是GameObject&#xff0c;这也是编程中的对象。 创建物体 在hierarchy窗口中&#xff0c;右击可以创建一个物体&#xff0c;当然也可以创建空物体。 物体属性 创建完物体后&#xff0c;一般可以在此处用这些工具来改变物体。 移动&#xff0c;旋转和…

戴尔科技集团助力中国石油大学打造现代数据中心

小的时候      总是幻想着      能够躺在床上上课      没想到现在竟然实现了      没错,对于当代大学生尤其是19级、20级来说,大学生活似乎是个虚无缥缈的词汇,因为相比与在校生活,在家上网课的时间可能会更长,一不留神就上了三年的“家里蹲”。      即使…

安装配置高度安全的匿名操作系统,利用暗网情报数据抓取工具获取普通人根本查看不到的信息

安装配置高度安全的匿名操作系统,利用暗网情报数据抓取工具获取普通人根本查看不到的信息。 Whonix匿名操作系统,Whonix 是一个专注于匿名,隐私和安全的操作系统。它基于Tor匿名网络,Debian GNU / Linux和隔离安全性。DNS泄漏是不可能的,即使具有root权限的恶意软件也无法…

“多点”开花,独立走向新零售

12月7日&#xff0c;亚洲最大的数字零售服务商多点Dmall正式向港交所递交招股说明书&#xff0c;在零售行业逐渐向线上线下一体化、店仓一体模式迈进之时&#xff0c;多点Dmall成为很多传统零售商转型路上的首选合作伙伴&#xff0c;给予了资本市场一定想象空间。 但也有观点认…

【Lua】ToLua逻辑热更新

1 前言 Lua基础语法 中系统介绍了 Lua 的语法体系&#xff0c;本文将进一步介绍 Unity3D 中基于 ToLua 实现逻辑热更新。 逻辑热更新是指&#xff1a;在保持程序正常运行的情况下&#xff0c;在后台修改代码逻辑&#xff0c;修改完成并推送到运行主机上&#xff0c;主机无缝接入…

HarmonyOS原子化服务最新概念、呈现形式与触发方式

一、HarmonyOS原子化服务最新概念 总体介绍&#xff1a; 原子化服务&#xff08;Ability&#xff09;是由HarmonyOS服务开放平台接入的一种技能&#xff0c;为华为智慧服务、智慧搜索、服务直达、智慧语音以及智慧视觉等流量入口提供服务技能。原子化服务以轻量化的呈现形式&…

高级网络应用复习——TCP与UDP,ACL列表, 防火墙,NAT复习与实验(带命令)

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.知识点总结 1.传输层的协议 &#xff08;1&#xff09;TCP 和…

「实操」结合图数据库、图算法、机器学习、GNN 实现一个推荐系统

本文是一个基于 NebulaGraph 上图算法、图数据库、机器学习、GNN 的推荐系统方法综述&#xff0c;大部分介绍的方法提供了 Playground 供大家学习。 基本概念 推荐系统诞生的初衷是解决互联网时代才面临的信息量过载问题&#xff0c;从最初的 Amazon 图书推荐、商品推荐&…

TCP的三次握手四次挥手详解

想要了解TCP的三次握手和四次挥手&#xff0c;首先要了解TCP的头部结构 TCP的头部结构如下 16位源端口号&#xff1a; 客户端地址信息16位目标端口号&#xff1a; 服务端地址信息32位序列号&#xff1a; 请求报文端数据流子节开始的位置&#xff08;比如位1024&#xff5e;2…

【20天快速掌握Python】day15-网络编程

1.网络通信的概念 简单来说&#xff0c;网络是用物理链路将各个孤立的工作站或主机相连在一起&#xff0c;组成数据链路&#xff0c;从而达到资源共享和通信的目的。 使用网络的目的&#xff0c;就是为了联通多方然后进行通信&#xff0c;即把数据从一方传递给另外一方。 前…

以分页场景谈MVC设计模式

一 、需求场景 需要实现一个分页组件&#xff0c; 可以方便的进行分页操作。 二、分析需求 从分页需求出发&#xff0c;分析潜在的元素&#xff0c; 虽然只包含一个大的分页功能&#xff0c;但是潜在的元素 包含&#xff1a;上一页 下一页 首页 尾页 当前页 等等。 为什么包含…

【Oauth2】SpringBoot整合Oauth2实现认证授权

SpringBoot整合Oauth2实现认证授权 应用场景 OAuth2.0 协议的使用场景主要为&#xff1a;第三方登录和开放接口的调用 第三方登录就是使用微信等第三方的方式来登录一个应用或者网站&#xff0c;比如用微信账号登录gitee。 而开发接口的调用&#xff0c;则比如说微信、美团…

TP5的消息队列

1.首先查看项目中是否已经有think-queue目录&#xff1a;/vendor/topthink/ 微信截图_20200909142126.png 如果没有&#xff0c;则用composer安装&#xff08;安装composer参考&#xff1a;http://www.runoob.com/w3cnote/composer-install-and-usage.html &#xff09;&#x…

Qt文档阅读笔记-Qt, QML, Widgets…What Is The Difference?

Qt, QML, Widgets…What Is The Difference? 本节主要介绍了开发Qt程序最关机的几个组建。 Qt是使用C和一些C的框架设计编写出来的。 Qt Qt是一个开源的框架。 Qt作为一个框架&#xff0c;包含了许多组件&#xff0c;这些组建又在指定的模块中&#xff0c;Qt基础组件在&…

干货| 小游戏赛道变现指南

随着羊了个羊等小游戏的爆火&#xff0c;不少人发现了小游戏赛道的巨大潜力&#xff0c;也想要在此赛道有所尝试。但是很多游戏赛道的新人对于小游戏变现问题存有疑问&#xff0c;今天就来跟大家分享一下小程序游戏赛道的变现途径&#xff01; 近期FinClip 官方正在举行小游戏…

全志 芯片 Linux MIPI CSI摄像头接口开发指南 VIN DVP CSI MIPI V4l2

1 前言 1.1 文档简介 介绍 VIN&#xff08;video input&#xff09;驱动配置&#xff0c;API 接口和上层使用方法。 1.2 目标读者 camera 驱动开发、维护人员和应用开发人员。 1.3 适用范围 ​ 表 1-1: 适用产品列表 内核版本驱动文件Linux-4.9drivers/media/platform/s…

nacos源码分析-服务注册(服务端)

安装Nacos源码 上一篇文章我们了解了《Nacos服务注册》客户端源码&#xff0c;本篇文章我们来看一下服务注册Nacos服务端的源码执行情况。首先需要下载Nacos源码&#xff0c; https://github.com/alibaba/nacos/releases/tag/1.4.3 &#xff0c; 解压之后使用IDEA工具导入即可…

Web3中文|为什么去中心化存储对NFT元数据很重要

图中文字&#xff1a;哦&#xff0c;看&#xff0c;FTX用Web2 API托管了所有在其平台上铸造的NFT&#xff0c;现在所有这些NFT的元数据都被破坏了&#xff0c;并且链接到了一个重组的网站。 这本不应该发生。但对于任何不考虑元数据和如何存储元数据的NFT项目来说&#xff0c;…

docker(5):Dockerfile

目录Dockerfile介绍Dockerfile常用指令案例&#xff1a;构建tomcat镜像Dockerfile介绍 Dockerfile 是一个用来构建镜像的文本文件&#xff0c;文本内容包含了一条条构建镜像所需的指令和说明&#xff0c;每条指令都会创建一个新的镜像层并对镜像进行提交。 Dockerfile 一般分…

【Django】第一课 基于Django图书借阅管理网站平台

概念 django服务器开发框架是一款基于Python编程语言用于web服务器开发的框架&#xff0c;采用的是MTV架构模式进行分层架构。 项目搭建 打开pycharm开发软件&#xff0c;打开开发软件的内置dos窗口操作命令行 在这里指定项目存放的磁盘路径&#xff0c;并使用创建django项目…