首页 > 系统相关 >shell脚本(八)

shell脚本(八)

时间:2024-12-03 16:30:39浏览次数:5  
标签:脚本 10 shell echo 语句 循环 enter until

# 学习视频笔记均来自B站UP主" 泷羽sec",如涉及侵权马上删除文章

仅用于学习参考,不要越过法律红线 

until循环
(1)until循环与for,while循环大体都是一样的,都是do开始,done结束
(2)在 Shell脚本中,until是一种循环控制结构。它的作用与while循环相反。while循环是在条件为真时执行循环体,而until循环是在条件为假时执行循环体,直到条件变为真时停止循环。
脚本如下:

for i in `seq 1 10`
do
    echo "Current number: $i"
done

代码功能

这段 Shell 脚本使用了 until 循环结构来实现从 0 开始,每次递增 1,直到变量 i 的值不小于 10(即大于等于 10)时停止循环,并在每次循环中输出当前 i 的值。

变量初始化:

 首先通过 i = 0 对变量 i 进行初始化,将其值设置为 0。这里要注意,在严格的 Shell 脚本语法中,赋值语句左右两边一般不应该有空格,正确写法应该是 i=0,不过有些 Shell 环境可能对这种小的格式问题有一定容错。

until 循环条件:

 (1)until [! $i -lt 10 ] 是循环的条件判断部分。这里的 [ ] 实际上是 test 命令的一种简写形式,用于进行条件测试。
 (2)表达式 $i -lt 10 表示判断变量 i 是否小于 10。而在其前面加上 ! 表示取反,所以整个循环条件就是当变量 i 不小于 10(即大于等于 10)时,循环停止执行。

循环体操作:

 (1)在循环体中,首先通过 echo "$i" 输出当前变量 i 的值。
(2) 然后通过 ((i++)) 实现对变量 i 的自增操作,每次循环后 i 的值会增加 1。 

case选择语句结构: 

与众多的编程语言一样,shell中也有case分支语句,这个语句的用处很是广泛,而且也是可以配合其他的语句进行使用的

这里进行case语句的简单了解,想要更深入的了解,可以自己去想什么地方能用到case分支语句

就比如一个简单的终端交互,用户输入对应的数字使用对应的功能,使用if语句过于繁杂,这个语句就可以解决

数字型

read -p "plesse enter a number: " num
case $num in 
        1)echo "you enter the number is 1"
        ;;
        2)echo " your enter the number is 2"
        ;;
        *)echo " you enter the number is everthing"
        ;;
esac

 

字符型

当然上面是数字形式,这里也可以是字符串的形式

read -p "please enter a character : " character
case $character in 
        "long")echo "your enter is long"
                ;;
        "yu")echo "your enter is yu"
                ;;
        *)echo "sorry, I don't no"
                ;;
esac

 

shell函数的基本知识 

 下面是定义函数的两种方式

函数名(){
	函数体
}

或者
function 函数名(){
	函数体
}

定义变量

demofunc(){
	echo "longyusec, yyds"
}
demofunc

调用方式一

在上述代码的情况下直接输入函数名

调用方式二
类似于传参的形式,不过bash中的传参与其他语言中不同,这里是使用$1 2 … 2…2…n作为第1、2…、n个参数(必须保证一一对应,不然会导致参数与变量不匹配,输出为空)

demofunc(){
        echo " your enter character is $1"
}
demofunc longyu

 

 

 

 

 

 

标签:脚本,10,shell,echo,语句,循环,enter,until
From: https://blog.csdn.net/m0_73699202/article/details/144215578

相关文章

  • shell常用的命令
    sed's/"//g'test.txt|sed'/^$/d'|sed's|\([0-9]\{4\}\)/\([0-9]\{1,2\}\)/\([0-9]\{1,2\}\)|\1.\2.\3|g'|sed's|\([0-9]\{4\}\)-\([0-9]\{1,2\}\)-\([0-9]\{1,2\}\)|\1.\2.\3|g'#时间格式......
  • Python | 再次分享10个Excel自动化脚本,一定有你用得上的!
    在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式。通过Python,我们可以实现对Excel文件的各种自动化操作,提高工作效率。本文将再次分享10个实用的Excel自动化脚本,以帮助新手小白更轻松地掌握这些技能。1.Excel单元格批量填充import pandas as pd# 批量......
  • 基于SpringBoot的蜗牛兼职平台的设计与实现(源码+SQL脚本+LW+部署讲解等)
    专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。主要内容:免费功能设计、开题报告、任务书、中......
  • 在Windows PE(Preinstallation Environment,预安装环境)中集成PowerShell 7,可以为系统管
    在WindowsPE(PreinstallationEnvironment,预安装环境)中集成PowerShell7,可以为系统管理员提供更强大的命令行工具和自动化脚本支持。WindowsPE本身是一个轻量级的操作系统,通常用于系统部署、恢复、维修和故障排除等任务,但它默认只集成了基本的命令行工具和脚本环境(如CMD和批处理......
  • 在 Windows 11 中,WMIC(Windows Management Instrumentation Command-line)工具已被废弃,
    在Windows11中,WMIC(WindowsManagementInstrumentationCommand-line)工具已被废弃,微软推荐使用PowerShell中的Get-WmiObject和Get-CimInstance等cmdlet来替代其功能。不过,WMIC被停用可能会对一些管理和自动化任务造成影响,尤其是在一些自动化脚本或企业环境中,管理员习......
  • LOLBAS(Living Off the Land Binaries and Scripts)是指一种网络攻击技术,攻击者利用目标
    LOLBAS的英文全称是LivingOfftheLandBinariesandScripts。它指的是攻击者利用目标环境中已存在的合法二进制文件、脚本或工具来执行恶意活动的一系列技术和战术。这种方法通过使用操作系统或其软件中常见的工具和资源,避免了引入外部恶意软件或可疑的可执行文件,从而帮助攻......
  • linux/ubuntu下一个文件夹里面文件太多打不开,用脚本分成一个个小文件夹
    python"""功能:把大文件目录分成几个小文件"""importosimportshutilimportrandompath_dir="/media/0001_data/"T_nums=2000files=os.listdir(path_dir)#random.shuffle(files)forcnt,fileinenumerate(files):print......
  • Python 自动化办公的 10 大脚本
    1.批量重命名文件如果你需要对一堆文件进行重命名,比如给文件添加前缀或后缀,可以使用以下脚本:importos defbatch_rename_files(directory,prefix):  """批量重命名指定目录下的所有文件,添加前缀"""  forfilenameinos.listdir(directory):    new......
  • python 创建mysql数据库脚(执行sql)脚本代码
    安装依赖库mysql-connector-pythonpipinstallmysql-connector-python执行创建数据库的sql脚本代码importmysql.connectorfrommysql.connectorimportErrordefcreate_database(db_name,host_name="192.168.0.33",user_name="root",user_password="SHU......
  • 【漏洞复现】OfficeWeb365 SaveDraw 任意文件上传getshell漏洞
    免责声明请勿使用本文中提到的技术进行非法测试或行为。使用本文中提供的信息或工具所造成的任何后果和损失由使用者自行承担,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。一、简介OfficeWeb365是一款专业的云服务平台,专注于提供Office文档和PDF文......