红队-shell编程基础(七)

admin 2025年1月14日08:27:43评论8 views字数 2203阅读7分20秒阅读模式

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

一、until循环(until 直到为止)

1.until循环

脚本代码如下:

i=0 #初始化变量i的值为0,可以根据需要修改这个初始值until [ !$i-lt 10 ]do      echo $i      ((i++))done

1.1代码功能概述

这段代码是一个 until循环结构,用于在满足特定条件之前重复执行循环体中的操作。在这里,它会不断地输出变量i的值并对i进行自增操作,直到i的值不满足循环条件为止。

1.2循环条件分析

循环条件部分为 [ ! $i -lt 10 ],这里存在一些问题哦。在bash脚本中,用于条件测试 [] (等同于 test 命令)有其特定的语法规则。

2.case 语句

read -p "请您输入一个数值:" numcase$numin          1)echo 您输入的数字是1           ;;          2)echo 您输入的数字是2           ;;          *)echo 您输入的是其他数字           ;;esac

以下是对这段代码的详细分析:          代码功能这段 bash 脚本代码的主要功能是从用户那里获取输入的一个数值,然后根据输入的值进行不同的处理。如果输入的值是 1,就输出 "您输入的数字是 1" ;如果输入的值是 2,就输出  "您输入的数是 2" ;如果输入的是其他任何值,就输出 "您输入的是其他数字" 。

代码结构及各部分含义获取用户输入:        read -p "请您输入一个数值:" num: 这里使用 read 命令来读取用户从键盘输入的内容。-p 选项用于在等待输入之前向用户显示提示信息,在这个例子中,提示信息是 "请您输入一个数值:" ,用户输入的内容会被存储到变量 num 中。

条件判断与处理(case 语句部分):        case $num in: 这是 bash 中的 case 语句的起始标识,用于根据变量 num 的不同取值来执行不同的代码块1)、2)和 *)部分: 1): 当变量 num 的值等于 1时,会执行这部分代码,即 echo 您输入的数字是1,然后通过 ;; 结束这个分支的执行。           2): 同理,当 num 的值等于 2 时,执行 echo 您输入的数字是2,并以 ;;  结束。          *):这是一个通配符分支,当 num 的值既不等于 1也不等于 2 时,就会执行这部分代码,即 echo 您输入的是其他数字,最后也以 ;; 结束整个 case 语句。

3.基本函数学习

一个函数我们要怎么创建 要怎么引用          代码如下:

DemoFunc () {echo"hello world"}DemoFunc     

代码功能这段代码定义了一个名为 DemoFunc 的函数,函数体内部仅包含一条语句,即输出字符串“hello world"。然后通过调用 DemoFunc 来执行这个函数,从而使得 "hello world" 被输出到控制台(假设这是在一个支持函数定义和调用的脚本环境中运行,比如 bash 脚本环境等)。

函数定义部分: DemoFunc() {:这是函数定义的开头部分,声明了函数名为 DemoFunc,后面紧跟着的大括号 { 表示函数体的开始。           echo "hello world": 这是函数体内部的唯一 一条语句,它的作用是将字符串 "hello world" 输出到控制台。当函数被调用时,这条语句就会被执行。           }: 这是函数体的结束大括号,标志着 DemoFunc 函数定义的完成。          函数调用部分:          DemoFunc:这单独的一行就是对前面定义好的 DemoFunc函数进行调用。当执行到这一行时,就会跳转到 DemoFunc 函数的定义处,执行函数体内部的语句,也就是会输出 "hello world" 到控制台。

代码二:

DemoFunc () {echo"hello world"echo"My name is $1: "}DemoFunc luoyu

代码功能这段代码定义了一个函数 DemoFunc,然后调用了该函数并传递了参数 luoyu。函数 DemoFunc 的功能是在被调用时,先输出固定的字符串 "hello world",接着输出一个包含参数值的字符串 "My name is $1:",这里的 $1 表示函数接收到的第一个参数。

代码执行过程函数定义: DemoFunc() {: 这部分声明了函数名为 DemoFunc,大括号内是函数体内容。          echo "hello world": 当函数被调用时,这是函数体中首先执行的语句,会将字符串 "hello world" 输出到控制台。          echo "My name is $1:" :在输出 "hello world" 之后,会执行这条语句。由于在调用函数 DemoFunc 时传递了参数 luoyu此时 $1 的值就被设置为 luoyu,所以这条语句会输出 "Myname is luoyu:" 。          }: 结束函数 DemoFunc 的定义。

函数调用:DemoFunc luoyu: 这行调用了已经定义好的 DemoFunc 函数,并将参数 luoyu 传递给它。

多函数调用 代码三:

DemoFunc () {echo"hello world"echo"My name is $1,and my age is $2 years old"}    DemoFunc luoyu 27

原文始发于微信公众号(泷羽Sec- 火乐):红队-shell编程基础(七)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月14日08:27:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队-shell编程基础(七)https://cn-sec.com/archives/3625579.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息