shell脚本(八)

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

红包金额最低5元

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

抵扣说明:

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

余额充值