【Shell】shell编程之循环语句与函数

循环、遍历

        循环:重复执行一段代码的结构,通过循环,可以在满足一定条件下,多次执行相同的代码

        循环语句:循环体(代码的总结构);

                         循环条件(当循环条件满足时,循环体内的代码才会执行,条件不满足循环结束)

        循环:实际上是一种控制流程的结构,用于重复执行代码

        遍历:对数据进行访问和操作的过程

循环语句

        循环的特点:重复执行代码,简化程序的逻辑;提高了程序的可读性和可理解性,降低了代码出错的可能性;提高了代码的利用率和效率,使程序自动化执行,减少了人工干预

        作用:为了批量执行代码的一种方式,减少人工干预,提高工作效率

for循环语句

        1.主要用于已知次数的循环

        2.语法结构:

for 变量名 in 取值范围
do
    #命令序列,对取值单位内的变量进行特定的操作

done        #for循环结束的标志
set -x		打开调试模式;显示代码运行的过程
    
set +x		关闭调试模式

        3.无限循环:for((;;))死循环

类c语言格式

   格式:for ((表达式1;表达式2;表达式3))
    例:
        for ((i=1;i<=10;i++))
        do
            命令序列
        done

数字累加文本

        累加求和

从1~100,分别求奇数和偶数的和

    sum1=0
    sum2=0
    for ((i=1;i<=100;i++))
    do
    let num=$i%2
    if [ $num -eq 0 ]
    then
        sum1=$(($i+$num1))
    else
        sum2=$(($i+$num2))
    fi
    done

    echo "偶数和为:${sum1}"
    echo "奇数和为:${sum2}"

随机变量

#猜数字

$RANDOM		表示一个随机整数
$RANDOM的范围为:0~32767
    $((RANDOM%100)) 	除100取余,范围为:0~99
    $((RANDOM%100+1)) 	除100取余加1,范围为:0~100
    $((RANDOM%1000)) 	除1000取余,范围为:0~999

双重循环

echo -n        表示不换行输出
echo -e        可以使用转义符

转义符:
    \b    删除
    \n    换行;换一行输出
    \t    相当于tab键的空格
    \c    不换行输出;如果字符过长,会导致后面的字符不输出

循环控制语句

        九九乘法表

for i in {1..9}
do
    for ((j=1;j<=i;j++))
    do
        echo -ne "$i*$j=$(($i*$j))\t"
    done
echo 
done

跳出循环

break 0        触发后,会立刻跳出整个循环;即使后面还有循环条件也不再执行
continue 1     触发后只跳出这一次循环,后面的循环条件会继续执行
continue 2     针对多层循环;触发后会跳出内循环和外循环(2层)
exit 0         直接退出;作用于整个脚本,后续所有代码都不再执行

while循环

        while满足条件就执行循环,不满足条件则结束循环

while [ 条件判断 ]
do
    命令序列
done

until循环语句

        当判断条件不成立时,才进行循环,条件成立则终止循环

until [ 条件测试语句 ]

do

    命令序列

done

cat /etc/passwd | awk -F: '{print $1}'

        -F:        指定分割符为“:”

        $1           表示把第一列切片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值