shell-8 until循环以及函数基本创建和调用

以下笔记学习来自B站泷羽Sec:
B站泷羽Sec

1.until脚本代码

i=0

until [ ! $i -lt 10 ]
do
    echo $i
    ((i++))
done

变量初始化:
i=0:定义了一个变量 i 并初始化为 0,它将作为计数器来使用。
循环条件判断:
until [ $i -ge 10 ]; do:这里使用了 until 循环,循环会一直执行其中的代码块,直到条件 [ i − g e 10 ] 为真。也就是说,当 i 的值大于等于 10 时,循环就会停止。在条件判断中, i -ge 10 ] 为真。也就是说,当 i 的值大于等于 10 时,循环就会停止。在条件判断中, ige10]为真。也就是说,当i的值大于等于10时,循环就会停止。在条件判断中,i 是获取变量 i 的值,-ge 是 bash 中的比较运算符,表示 “大于等于”。
循环体内容:
echo $i:在每次循环中,会输出当前变量 i 的值。
((i++)):这是对变量 i 进行自增操作,每次循环后 i 的值会增加 1。
当运行脚本时,它会依次输出 0 到 9 这十个数字。
image.png

2.case语句

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

read -p “请您输入一个数值:” num:
这行代码使用了read命令,它的作用是从标准输入(通常是键盘输入)读取用户输入的数据。
-p选项是read命令的一个参数,用于在等待用户输入之前显示指定的提示信息。在这里,提示信息是 “请您输入一个数值:”。
num是一个变量名,read命令会将用户输入的内容存储到这个变量中,以便后续在脚本中使用。
case $num in:
这是case语句的开始部分。case语句用于根据变量的值进行不同的分支处理。在这里,要判断的变量就是前面通过read命令获取到用户输入并存储在num变量中的值。

  1. echo 您输入的数字是1 ;;:
    这是case语句中的一个分支。当num变量的值等于1时,就会执行这个分支内的代码。
    echo命令用于在命令行输出指定的信息。在这里,当用户输入1时,就会输出 “您输入的数字是 1”。
    ;;是case语句中每个分支结束的标记,表示这个分支的处理到此结束,继续判断下一个可能的分支。
  2. echo 您输入的数字是2 ;;:
    类似上面的分支,当num变量的值等于2时,执行这个分支。输出 “您输入的数字是 2”,同样以;;结束该分支。
    *) echo 您输入的是其他数字 ;;:
    *是一个通配符,在case语句的这个分支中,它表示匹配任何其他没有被前面具体分支匹配到的值。
    所以当num变量的值既不是1也不是2时,就会执行这个分支,输出 “您输入的是其他数字”,最后以;;结束。
    esac:
    这是case语句的结束标记,表示整个case语句的结束。
    image.png

3.函数的基本学习

3.1 普通调用

DemoFunc(){
    echo "hello world"
}

DemoFunc

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

3.2 调用时传递参数

DemoFunc(){
    echo "hello world"
    echo "The first num is $1"
}

DemoFunc 123456

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

3.3 多参数函数调用

DemoFunc(){
    echo "hello world"
    echo "The first num is $1 and my name is $2"
}

DemoFunc 123456 meteor

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值