声明!
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec](https://space.bilibili.com/350329294)
目录
- until 循环 1.1 代码功能概述
1.2 循环条件分析 - case 语句 2.1 代码功能
2.2 代码结构及分析 - 基本函数学习 3.1 创建一个简单函数
3.2 带参数的函数
3.3 多个参数的函数
1. until
循环
1.1 代码功能概述
以下是一个 until
循环的示例代码:
i=0
until [ ! $i -lt 10 ]
do
echo $i
((i++))
done
这段代码展示了如何使用 until
循环结构。在这个例子中,until
循环会不断输出变量 i
的值,并对 i
进行自增,直到 i
的值不再满足循环条件为止。
1.2 循环条件分析
until
循环的条件部分是 [ ! $i -lt 10 ]
。在 Bash 脚本中,[ ]
是用于条件测试的结构,等同于 test
命令。该条件表示:当 i
的值不再小于 10 时,循环将停止。
注意,运行脚本时,不能使用 ./1.sh
来执行代码,而应该使用 bash 1.sh
,因为该脚本需要由 Bash 解释器来执行。
2. case
语句
2.1 代码功能
以下是一个 case
语句的示例代码,用于根据用户输入的数字进行不同的处理:
read -p "请输入一个数值:" num
case $num in
1) echo "你输入的数字是1" ;;
2) echo "你输入的数字是2" ;;
*) echo "你输入的是其他数字" ;;
esac
这段代码从用户处获取输入值,并根据输入的数字执行不同的输出:
- 如果输入的是 1,输出 "你输入的数字是1"
- 如果输入的是 2,输出 "你输入的数字是2"
- 如果输入的是其他值,输出 "你输入的是其他数字"
2.2 代码结构及分析
read -p "请输入一个数值:" num
:使用read
命令从键盘读取用户输入,并将输入存储在变量num
中。-p
选项用于显示提示信息。case $num in
:case
语句的起始部分,根据变量num
的值执行不同的代码块。1)
当num
的值是 1 时,执行echo "你输入的数字是1"
。2)
当num
的值是 2 时,执行echo "你输入的数字是2"
。*)
这是通配符分支,当输入不等于 1 或 2 时,执行echo "你输入的是其他数字"
。
esac
:表示case
语句的结束。
3. 基本函数学习
3.1 创建一个简单函数
以下是一个简单的函数定义与调用示例:
DemoFunc() {
echo "hello world"
}
DemoFunc
代码功能
这段代码定义了一个名为 DemoFunc
的函数,函数体内输出字符串 "hello world"
。调用该函数后,会打印出该字符串。
代码解读
DemoFunc() {
:这是函数定义的开始,定义了函数DemoFunc
,后面的{
表示函数体的开始。echo "hello world"
:这是函数体内部的语句,表示输出"hello world"
。}
:这是函数体的结束,标志着函数定义的完成。DemoFunc
:这是调用函数DemoFunc
,执行时会跳转到该函数体内,输出"hello world"
。
3.2 带参数的函数
接下来,我们看一个带参数的函数示例:
DemoFunc() {
echo "hello world"
echo "My name is $1"
}
DemoFunc momota
代码功能
该函数定义了两个输出:
"hello world"
"My name is $1"
,其中$1
表示函数接收的第一个参数。
调用 DemoFunc momota
时,$1
的值为 momota
,因此输出 "My name is momota"
。
代码解读
DemoFunc() {
:函数定义开始。echo "hello world"
:输出固定字符串"hello world"
。echo "My name is $1"
:输出接收到的第一个参数,即"My name is momota"
。}
:函数定义结束。DemoFunc momota
:调用函数并传递参数"momota"
。
3.3 多个参数的函数
再来看一个有多个参数的函数:
DemoFunc() {
echo "hello world"
echo "My name is $1, and my age is $2 years old"
}
DemoFunc momota 22
代码功能
这个函数接收两个参数:
- 第一个参数是名字,输出
"My name is $1"
- 第二个参数是年龄,输出
"and my age is $2 years old"
调用 DemoFunc momota 22
时,$1
为 momota
,$2
为 22
,输出:
hello world
My name is momota, and my age is 22 years old
代码解读
DemoFunc() {
:函数定义开始。echo "hello world"
:输出"hello world"
。echo "My name is $1, and my age is $2 years old"
:输出带有两个参数的字符串。}
:函数定义结束。DemoFunc momota 22
:调用函数并传递两个参数momota
和22
。