# 学习视频笔记均来自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