shell编程(4)脚本与用户交互以及if条件判断

声明:

        学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频
————————————————

脚本与用户交互

利用 read name age指定变量信息icetea 21

然后我们利用

echo $name 来接收用户输入

echo $age 来接收用户输入

例1:

首先需要进入bash

read -p "请输入您的姓名:" name
输入icetea
echo $name
输出:icetea

例2:read -t 10 -p "请输入您的姓名:" name

-t 指定时间, - t 10 十秒内没有输入自动退出程序,输入了则执行成功

例3:read -n 3 -t 10 -p "请输入您的姓名:" name

-n 用于指定最多可以输入的字符数量。 -n 3表示限制用户输入的字符个数最多为 3 个。比如用户输入 “abc” 是符合要求的,但如果输入 “abcd”,那么实际上只会读取前 3 个字符 “abc” 作为输入内容,后面多余的字符会被忽略,且输入会结束(受限于该参数设定)。

脚本编写模拟

vim o.sh

在o.sh里面编写

read -p "请输入您的名字:" name

echo "您输入的名字是:$name,请您确认"

然后运行o.sh

关系运算符

在脚本环境中如何简单的做条件判断

vim i.sh
首先定义两个变量 ,然后通过if条件判断来进行两个简单的条件判断,再接入关系运算符.
-eq
相等,-lt小于,-gt大于,-ne不等于,else反转,
只能对数值进行判断,无法对这个字符串进行判断
脚本如下:

num1=78
num2=89

#注意空格,分号
if [ $num1 -eq $num2 ]; then
    echo 相等
else
    echo 不相等
fi

 

[]可以换成test进行测试
num1=78
num2=89
#注意空格,分号
if test $num1 -eq $num2 ; then
          echo 相等
else
       echo 不相等
fi

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

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

相关文章

架构-微服务-服务调用Dubbo

文章目录 前言一、Dubbo介绍1. 什么是Dubbo 二、实现1. 提供统一业务api2. 提供服务提供者3. 提供服务消费者 前言 服务调用方案--Dubbo‌ 基于 Java 的高性能 RPC分布式服务框架,致力于提供高性能和透明化的 RPC远程服务调用方案,以及SOA服务治理方案。…

【Python网络爬虫笔记】2-HTTP协议中网络爬虫需要的请求头和响应头内容

1 HTTP 协议整理 HTTP(Hyper Text Transfer Protocol)即超文本传输协议,是用于从万维网(WWW)服务器传输超文本到本地浏览器的传送协议,直白点儿,就是浏览器和服务器之间的数据交互就是通过 HTT…

TYUT设计模式大题

对比简单工厂,工厂方法,抽象工厂模式 比较安全组合模式和透明组合模式 安全组合模式容器节点有管理子部件的方法,而叶子节点没有,防止在用户在叶子节点上调用不适当的方法,保证了的安全性,防止叶子节点暴露…

SpringBoot集成Kafka和avro和Schema注册表

Schema注册表 为了提升kafka的性能,减少网络传输和存储的数据大小,可以把数据的schema部分单独存储到外部的schema注册表中,整体架构如下图所示: 1)把所有数据需要用到的 schema 保存在注册表里,然后在记…

Wireshark 4.4.2:安全更新、错误修复、更新协议支持

流行的网络协议分析器Wireshark已更新至4.4.2版本。它可用于网络故障排除、分析、开发和教育。 已修复以下漏洞: wnpa-sec-2024-14 FiveCo RAP 解剖器无限循环。wnpa-sec-2024-15 ECMP 解析器崩溃。 更新的协议支持: ARTNET、ASN.1 PER、BACapp、B…

《Django 5 By Example》阅读笔记:p339-p358

《Django 5 By Example》学习第12天,p339-p358总结,总计20页。 一、技术总结 1.项目(购物网站) django-admin startproject myshop 虽然这里只是示例,但我觉得这种命名为 myxxx 的习惯非常不好,因为在实际应用中,是…

【简单好抄保姆级教学】javascript调用本地exe程序(谷歌,edge,百度,主流浏览器都可以使用....)

javascript调用本地exe程序 详细操作步骤结果 详细操作步骤 在本地创建一个txt文件依次输入 1.指明所使用注册表编程器版本 Windows Registry Editor Version 5.00这是脚本的第一行,指明了所使用的注册表编辑器版本。这是必需的,以确保脚本能够被正确解…

Milvus 2.5:全文检索上线,标量过滤提速,易用性再突破!

01. 概览 我们很高兴为大家带来 Milvus 2.5 最新版本的介绍。 在 Milvus 2.5 里,最重要的一个更新是我们带来了“全新”的全文检索能力,之所以说“全新”主要是基于以下两点: 第一,对于全文检索基于的 BM25 算法,我们采…

【数据分析】布朗运动(维纳过程)

文章目录 一、概述二、数学布朗运动2.1 数学定义2.2 布朗运动的数学模型2.21 标准布朗运动2.22 布朗运动的路径2.23 布朗运动的方程 三、布朗运动在金融学中的应用四、数学构造(以傅里叶级数为例)4.1 傅里叶级数的基本思想4.2 构造布朗运动 一、概述 布…

Spring Cloud(Kilburn 2022.0.2版本)系列教程(五) 服务网关(SpringCloud Gateway)

Spring Cloud(Kilburn 2022.0.2版本)系列教程(五) 服务网关(SpringCloud Gateway) 一、服务网关 1.1 什么是网关 在微服务架构中,服务网关是一个至关重要的组件。它作为系统的入口,负责接收客户端的请求,并将这些请求路由到相应的后端服务…

即时通讯| IM+RTC在AI技术加持下的社交体验

即时通讯作为互联网的重要应用之一,见证了中国互联网30年发展的辉煌历程。 它从最初的文字交流,发展到如今的语音、视频通话,甚至是虚拟现实社交,已经渗透到生活的社交、娱乐、商务等方方面面,成为现代社会不可或缺的一…

【Java基础入门篇】一、变量、数据类型和运算符

Java基础入门篇 一、变量、数据类型和运算符 1.1 变量 计算机中的数据表示方式是:“二进制(0/1)”,但是同时也可以兼容其他进制,例如八进制、十进制、十六进制等。 Java变量的本质是:存储在固定空间的内容,变量名是…

【博主推荐】C#的winfrom应用中datagridview常见问题及解决方案汇总

文章目录 1.datagridview绘制出现鼠标悬浮数据变空白2.datagridview在每列前动态添加序号2.1 加载数据集完成后绘制序号2.2 RowPostPaint事件绘制 3.datagridview改变行样式4.datagridview后台修改指定列数据5.datagridview固定某个列宽6.datagridview某个列的显示隐藏7.datagr…

使用经典的Java,还是拥抱新兴的Rust?

在当代互联网时代的企业级开发中,技术栈的选择往往牵动着每个团队的神经。随着Rust语言的崛起,许多开发团队开始重新思考:是继续坚持使用经典的Java,还是拥抱新兴的Rust?这个问题背后,折射出的是对技术演进…

Java项目运行报错“java: -source 1.5 中不支持 diamond 运算符“解决办法windows/linux系统踩坑实录

文章目录 一、问题描述二、解决方案 一、问题描述 在接手同事的Java项目时,依赖和打包都能正常操作,但一点击运行项目,就会报错: java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符…

SQL基础入门 —— SQL概述

目录 1. 什么是SQL及其应用场景 SQL的应用场景 2. SQL数据库与NoSQL数据库的区别 2.1 数据模型 2.2 查询语言 2.3 扩展性 2.4 一致性与事务 2.5 使用场景 2.6 性能与扩展性 总结 3. 常见的SQL数据库管理系统(MySQL, PostgreSQL, SQLite等) 3.…

开源项目:纯Python构建的中后台管理系统

来源:Python大数据分析 费弗里 大家好我是费老师,目前市面上有很多开源的「中后台管理系统」解决方案,复杂如「若依」那种前端基于Vue,后端基于Java的框架,虽然其提供了较为完善的一整套前后端分离权限管理系统解决方…

视频video鼠标移入移除展示隐藏(自定义控件)

效果图 代码 <template><div class"video-container" mouseover"showControls" mouseleave"hideControlsAfterDelay"><videoref"video"loadedmetadata"initializePlayer"timeupdate"updateProgress&qu…

【连接池】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

ubuntu24.04安装Kubernetes1.31.0(k8s1.30.0)高可用集群

ubuntu24.04安装Kubernetes1.30.0(kubernetes1.30.0)高可用集群 一、总体概览 目前最新版的K8S版本应该是1.31.0,我们安装的是第二新的版本1.30.0,因为有大神XiaoHH Superme指路,所以基本上没踩坑,很顺利就搭建完成了。所有的机器都采用的最新版Ubuntu-Server-24.04长期支…