泷羽sec学习打卡-shell命令4

news2024/11/29 13:15:34

声明
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都
与本人无关,切莫逾越法律红线,否则后果自负


关于shell的那些事儿-shell4

    • 如何在shell脚本与用户进行交互?
    • 如何限制用户输入的字符个数呢?
    • 常见的关系运算符
        • 那么,常见的关系运算符有哪些呢?**
    • 实践是检验真理的唯一标准


如何在shell脚本与用户进行交互?

我们利用read参数指定变量信息
在kail中需要先进入bash状态,此时可以利用kail提供的命令行功能
接收用户输入

echo  $name 
echo  $name 

这里为什么没有打印变量,因为没有对变量进行初始化
如何等到用户输入呢?
可以利用read -p "请输入您的姓名" name
输入:dw
打印用户输入的变量

echo $name

在这里插入图片描述

输入时间限制,这里用户交互10s后就会自动退出脚本程序

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

-t 10:表示如果用户在10秒内没有输入任何内容,read 命令将超时并结束。
-p “请输入您的姓名:”:在命令行上显示提示信息“请输入您的姓名:”,提示用户输入他们的姓名。

如何限制用户输入的字符个数呢?

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

在这里插入图片描述

-n 3:这个选项指定 read 命令只读取用户输入的前3个字符,不论用户实际输入了多少字符。

那么,用脚本编写实现呢?

vim su.sh

脚本内容:

read -p "请输入姓名:" name
echo "您输入的姓名是:$name,请您确认!"  

在这里插入图片描述

在这里插入图片描述

常见的关系运算符

条件判断;和大多数的编程语言一样,选择,循环,顺序
创建脚本

vim if.sh

脚本如下;

num1 = 78
num2 = 80
if [ $num1 -eq $num2 ] : then
	echo 相等
else 
	echo 不相等
fi

result:
在这里插入图片描述

那么,常见的关系运算符有哪些呢?**

数值比较运算符:

-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-ge:大于等于
-le:小于等于
字符串比较运算符:

=:等于(用于字符串比较)
!=:不等于(用于字符串比较)
-z:字符串长度为零
-n:字符串长度非零
文件测试运算符:

-e:文件存在
-f:文件存在且为普通文件
-d:文件存在且为目录
-r:文件存在且可读
-w:文件存在且可写
-x:文件存在且可执行
-s:文件存在且大小非零
-h:文件存在且为符号链接
逻辑运算符:

-a:逻辑与(AND)
-o:逻辑或(OR)
!:逻辑非(NOT)
正则表达式匹配运算符(在双方括号 [[ ]] 中使用):

=:字符串匹配正则表达式
!=:字符串不匹配正则表达式
模式匹配运算符(在双方括号 [[ ]] 中使用):

==:字符串匹配模式(等同于 =)
!=:字符串不匹配模式
条件表达式:

-z:字符串长度为零
-n:字符串长度非零
版本号比较运算符(在双方括号 [[ ]] 中使用):

-gt:大于
-lt:小于
-ge:大于等于
-le:小于等于

这段fi是用来标记if语句的结束,是bash特有的
注意点:这里的[] 可以换成空格 shell中脚本和python类似,都是利用缩进格式,继续信息收集实战,shell玩玩有意义

实践是检验真理的唯一标准

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

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

相关文章

电子应用设计方案-27:智能淋浴系统方案设计

智能淋浴系统方案设计 一、系统概述 本智能淋浴系统旨在为用户提供舒适、便捷、个性化的淋浴体验,通过集成多种智能技术,实现水温、水流、淋浴模式的精准控制以及与其他智能家居设备的联动。 二、系统组成 1. 喷头及淋浴杆 - 采用可调节角度和高度的设计…

Spring系列之批处理Spring Batch介绍

概述 官网,GitHub A lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems. 执行流程 实战 假设有个待处理的任务,如文件batch-tes…

内存共享模型和Actor 模型

内存共享模型: 典型代表:java Actor 模型: 典型代表:HamnoyOS API 13

机器学习期末复习笔记

markdown文件下载:https://github.com/1037827920/SCUT-Notes/tree/main/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0 机器学习期末复习笔记 1. 机器学习简介 1.1 什么是机器学习 如图所示: 几乎所有的机器学习都包括以下三个部分:数据、模型和…

Spring Boot拦截器(Interceptor)详解

拦截器Interceptor 拦截器我们主要分为三个方面进行讲解: 介绍下什么是拦截器,并通过快速入门程序上手拦截器拦截器的使用细节通过拦截器Interceptor完成登录校验功能 1. 快速入门 什么是拦截器? 是一种动态拦截方法调用的机制&#xff…

Python基础学习-12匿名函数lambda和map、filter

目录 1、匿名函数: lambda 2、Lambda的参数类型 3、map、 filter 4、本节总结 1、匿名函数: lambda 1)语法: lambda arg1, arg2, …, argN : expression using arg 2) lambda是一个表达式,而不是一个语…

【SpringBoot】Spring Data Redis的环境搭建(win10)

启动redis服务 进入redis安装目录,启动cmd Redis客户端连接redis服务 我用的redis客户端是github上一个大佬写的,叫 Another Redis Desktop Manager Java框架操作Redis 框架有很多,比如Jedis,Spring Data Redis,Let…

联想品牌的电脑 Bios 快捷键是什么?如何进入 Bios 设置?

在某些情况下,您可能需要通过U盘来安装操作系统或进行系统修复。对于联想电脑用户来说,了解如何设置U盘作为启动设备是非常有用的技能之一。本文简鹿办公将指导您如何使用联想电脑的 U 盘启动快捷键来实现这一目标。 联想笔记本 对于大多数联想笔记本电…

51单片机教程(九)- 数码管的动态显示

1、项目分析 通过演示数码管动态显示的操作过程。 2、技术准备 1、 数码管动态显示 4个1位数码管和单片机如何连接 a、静态显示的连接方式 优点:不需要动态刷新;缺点:占用IO口线多。 b、动态显示的连接方式 连接:所有位数码…

windows下安装node.js和pnpm

首先,一定要powershell右键选择管理员身份运行,否则第三个命令报错。 # 安装 fnm (快速 Node 管理器) winget install Schniz.fnm# 配置 fnm 环境 fnm env --use-on-cd | Out-String | Invoke-Expression# 下载并安装 Node.js fnm use --install-if-mis…

【JavaEE初阶】枫叶经霜艳,梅花透雪香-计算机是如何运行的?

本篇博客给大家带来的是与计算机相关的知识点, 包括:计算机的组成, 指令, 进程(重点). 文章专栏: JavaEE初阶 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 1. 计算机的组成 1.1 计算机的发展史 计算…

基于时间维度优化“开源 AI 智能名片 S2B2C 商城小程序”运营策略:提升触达与转化效能

摘要: 随着数字化商业生态的蓬勃发展,“开源 AI 智能名片 S2B2C 商城小程序”融合前沿技术与创新商业模式,为企业营销与业务拓展带来新机遇。本文聚焦于用户时间场景维度,深入剖析如何依据不同时段用户行为特征,精准适…

自己整理的的java面试题

IO 按照流的流向分类:输入流和输出流 按照操作单元分类:可以分为字节流和字符流 按照流的角色划分:节点流和处理流 所有输入流的基类:InputStream/Reader 字节流/字符流 所有输出流的基类:OutputStream/Reader 字…

安全基线检查

一、安全基线检测基础知识 安全基线的定义 安全基线检查的内容 安全基线检查的操作 二、MySQL的安全基线检查 版本加固 弱口令 不存在匿名账户 合理设置权限 合理设置文件权限 日志审核 运行账号 可信ip地址控制 连接数限制 更严格的基线要求 1、禁止远程连接数据库 2、修改…

不间断电源 (UPS) 对现代技术可靠性的影响

在这个技术型世界里,无论是在个人还是商业环境中,电力供应商提供的稳定供电都变得越来越重要。 不间断电源 (UPS) 系统是一种不可或缺的解决方案,可保证终端设备不受干扰地运行,在出现电源问题或故障时让用户继续工作。 这篇文章…

基于yolov8、yolov5的智能零售柜商品检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要:智能零售柜商品检测在智能零售设备运营、库存管理和消费行为分析中具有重要意义,不仅能帮助相关企业实时监控商品状态,还为智能化零售系统提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的智能零售柜商品检测模…

Java接收LocalDateTime、LocalDatee参数

文章目录 引言I java服务端的实现1.1 基于注解规范日期格式1.2 json序列化和反序列化全局配置自动处理日期格式化II 知识扩展: 枚举的转换和序列化III 签名注意事项引言 应用场景举例:根据时间段进行分页查询数据 前后端交互日期字符串统一是yyyy-MM-dd HH:mm:ss 或者yyyy-M…

Java之String类常用操作

Java之String类 一、String类的理解1、类的声明2、内部声明的属性3、字符串常量的存储位置4、字符串的不可变性的理解5、String实例化的两种方式6、字符串的拼接 二、String的构造器1、构造器2、String和char之间相互转换3、String和byte之间相互转换 三、String中常用方法 一、…

Python语法基础(三)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 我们这篇文章来说一下函数的返回值和匿名函数 函数的返回值 我们先来看下面的这一段函数的定义代码 # 1、返回值的意义 def func1():print(111111111------start)num166print…

Android11修改摄像头前后置方法,触觉智能RK3568开发板演示

本文介绍在Android11系统下,修改摄像头前后置属性的方法。使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统&#…