首页 > 系统相关 >shell编程(4)(5)

shell编程(4)(5)

时间:2024-11-24 20:32:06浏览次数:7  
标签:shell num1 num2 read 编程 echo 运算符 name

目录

一、在shell脚本中与用户交互

利用read name age

利用raed -p

利用read -t 10 -p

利用read -n 3 -t 10 -p

二、用脚本模拟编写

三、关系运算符

四、字符串运算符和逻辑运算符

字符串运算符

判断其是否大小写敏感

逻辑运算符之布尔运算符

余运算


声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。

一、在shell脚本中与用户交互

利用read name age

read name age

指定变量信息xiaoyu 26

然后我们利用

echo $name 来接收用户输入

echo $age 来接收用户输入

利用raed -p

先进入bash环境

read -p "请输入你的姓名" name

输入:xiaoyu

echo $name 来接收用户输入

利用read -t 10 -p

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

-t(指定时间)

如果用户在10s内没有进行输入,程序会自动退出,反之就会执行程序

利用read -n 3 -t 10 -p

read -n 3 0t 10 -p "请输入你的姓名" name

-n(限制用户输入的字符数量)

二、用脚本模拟编写

vim 1.sh
read -p "请输入你的姓名" name
echo "你输入的姓名是:$name,请你确认!"

三、关系运算符

vim o.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

四、字符串运算符和逻辑运算符

字符串运算符

首先打开终端,利用vim打开u.sh

str1="hello"
str2="hello"
if [ “$str1” = “$str2” ]; then
    echo True
else
    echo flase
fi

接着sh u.sh运行脚本,看字符串是否相等

判断其是否大小写敏感

vim u.sh进入脚本并修改,将hello修改为Hello,然后再运行脚本,得出结果是不相等,所以shell编程中大小写敏感

  • -z(检查字符串的长度是否为0)

str1="hello"
str2="hello"
if [ -z ""$str1" ]; then
    echo True
else
    echo flase
fi

运行结果返回flase长度不为0

  • -n(检查字符串长度是否不为0)与-z相反

逻辑运算符之布尔运算符

num1=9
#num2=19(如果后续不需要用到num2,可删除这一行)
if ["$num1"!= "9"]; then
    echo num1不等于9
else
    echo num1等于9
fi

余运算

num1=9
num2=19
#使用-a作为逻辑与运算符来正确连接两个条件,并给变量加上双引号确保正确
if [ $num1 != "9" -a $num2 -lt "20" ];then
    echo True
else
    echo Flase
fi

同时满足$num1 !=9 $num2 -lt 20 输出true 不满足返回flase

num1=9
num2=19
#使用-o作为逻辑或运算符来正确连接两个条件,并给变量加上双引号确保正确
if [ $num1 != "9" -o $num2 -lt "20" ];then
    echo True
else
    echo Flase
fi

与之相反的参数是-o参数 只需要满足其中一个就可以返回true 两个都不满足就返回flase

标签:shell,num1,num2,read,编程,echo,运算符,name
From: https://blog.csdn.net/2401_86628519/article/details/144011664

相关文章

  • 爬虫优化策略利用并发编程加速爬取
    爬虫技术是数据获取的重要工具,而在实际操作中,单线程爬取的效率通常难以满足需求,尤其是在高延迟或需要处理大量请求的场景下。为了解决这一问题,可以借助并发编程的多种方法来提升爬取效率。通过线程池、多进程模型以及异步编程等技术,不仅能够加速网络请求,还能有效降低资源浪......
  • shell脚本
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言shell脚本的创建和执行变量的使用前言声明学习视频来自B站UP主泷羽sec,如涉及侵权马上删除文章笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾......
  • Java编程实例之---Java 中的斐波那契数列
    用Java实现斐波那契数列是一项经典的编程练习,可以很好地介绍递归、动态规划和数学概念。在本节中,我们将探讨用Java实现斐波那契数列的各种方法,讨论它们的优缺点,并深入研究底层数学。斐波那契数列斐波那契数列是一系列数字,其中每个数字都是前两个数字的总和。换句话说,在斐......
  • 《 C++ 修炼全景指南:一 》新手福音:C++ 入门全指南,掌握编程核心
    摘要这篇博客为C++初学者提供了一份全面而详尽的入门指南,涵盖了C++的方方面面。首先,从语言的起源与发展入手,讲述了C++的历史脉络及其对现代编程的深远影响。接着,详细剖析了C++的核心关键字,包括const、static和auto,并通过实际示例展示其应用。文章还深入探讨了命名空间的概......
  • shell编程--if判断与for循环
    shell编程与其他编程语言一样都有if判断与循环,今天了解一下if判断语句和for循环语句。if判断语句讲解我们写出一个if判断a=1b=2if["$a"-eq"$b"];thenecho"相等"elseecho"不相等"fi在shell中-eq是表示相等。shell编程if语句有些特殊,其中大括号......
  • shell编程-for循环与while循环
    接续上节讲述for循环以及接下介绍while循环seq数字数列for循环如果想要循环次数变多的情况,手动建设循环列表是不可行的,可以引用C语言框架,当然也可以使用seq构造数列。例如构造1-10的循环数列,我们让其循环10次。fornumin$(seq10);doecho"循环次数为$num"done上......
  • 【工具使用】【Shell脚本】【gitlab】下拉所有的仓库以及每个仓库的所有分支代码
    1 前言关于Gitlab我们之前看过【工具使用】【Shell脚本】【gitlab】下拉所有的仓库代码并指定分支推送给客户仓库、【工具使用】【Shell脚本】【gitlab】【最终篇】获取当前用户页面上可以看到的所有仓库代码以及拉推新仓库。前面两篇都是拉的某几个分支,本节我们看看,怎么把所......
  • MybatisPlus入门(八)MybatisPlus-DQL编程控制(下)
    一、字段映射与表名映射数据库表和实体类名称一样自动关联,数据库表和实体类有部分情况不一样。问题一:表名与编码开发设计不同步,表名和实体类名称不一致。  解决办法:在模型类上方,使用@TableName注解,通过value属性,设置当前类对应的数据库表名称。  示例代......
  • 可编程序控制器的构成和工作原理
    可编程序控制器(ProgrammableLogicController,PLC)是一种广泛应用于工业自动化控制领域的电子设备。它通过内部编程实现对生产过程的自动控制,具有高可靠性、灵活性和易于编程等特点。一、构成中央处理单元:CPU是PLC的核心部分,负责执行用户程序、处理输入信号并控制输出。它......
  • 编程之路,从0开始:文件操作(2)
            Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!    今天我们来继续学习C语言的文件操作。我的博客:<但凡.我的专栏:编程之路持续更新高质量内容,欢迎点赞、关注!目录1、文件的随机读写1.1fseek1.2ftell输出结果:​编辑1.......