while循环详解

·练习:写一个脚本,完成以下功能

    说明:此脚本能与同一个repo文件中完成多个yum源指向

    1,接收一个文件名作为参数,此文件存放在/etc/yum.repos.d目录中,且文件名以.repo作为后缀;但是此文件不能存在,否则,显示错误信息

    2,在脚本中提醒用户输入repo id,如果用户输入quit,则退出脚本;否则,继续完成下面步骤

    3,提示用户输入repo name以及baseurl,而后以repo文件的格式将其保存至文件中

    4,enabled默认为1,而gpgcheck默认为0

    5,此脚本会循环执行多次,除非用户指定repo id为quit

  脚本内容:

    bash脚本编程之九 while循环

  脚本执行结果:

    bash脚本编程之九 while循环

·循环的控制方法

    1,for循环->循环次数已知的循环

    2,until循环->直到型循环,相当于C语言中的cotinue

    3,while循环->当型循环

        while循环有两种特殊用法:

            ->死循环

                while :;do

                ...

                done

            ->将标准输入的中间的数据逐行依次读取进LINE变量中

                while read LINE;do

                ...

                done < /path/to/somefile

  练习:写一个脚本,

    将/etc/passwd文件中默认shell为bash的用户名依次输出

       脚本内容:

        bash脚本编程之九 while循环

       脚本执行结果:

        bash脚本编程之九 while循环

·循环的两个常用的控制关键词

    ->break:实现提前退出循环

        练习:求1-1000的所有整数和,当和大于10000就退出循环

        脚本内容:

        bash脚本编程之九 while循环

        脚本执行结果:

        bash脚本编程之九 while循环

        练习:写一个死循环,要求用户输入文件名,直到用户输入quit,则退出循环

        脚本内容:

        bash脚本编程之九 while循环

        脚本执行结果:

        bash脚本编程之九 while循环

    ->continue:实现提前结束本轮循环,从而提前进入下一轮循环

        练习:求1-100以内的奇数和

            脚本内容:

            bash脚本编程之九 while循环

            脚本执行结果:

            bash脚本编程之九 while循环


练习:写一个脚本,要求

        1,能够接受一个参数

        2,判断一个指定的bash脚本是否有语法错误,如果有,则提示用户可以输入Q或q无视错误退出脚本,而其他任何按键都可以重新打开该文件并进行编辑

        3,如果用户在编辑完成并保存退出后脚本仍然有错误,则重复第一步中的内容,否则,就正常关闭退出脚本

        温故:bash -n命令可以用来判断脚本是否具有语法错误


    脚本内容:

        bash脚本编程之九 while循环

    脚本执行结果:

        bash脚本编程之九 while循环