码迷,mamicode.com
首页 > 系统相关 > 详细

Linux中的shell脚本编程---语句控制

时间:2016-08-16 22:09:10      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:编程语言   linux   程序   单词   信息   if   

概述:

     shell脚本的语句控制

         □前面提到了过程式编程语言有三种过程:

                顺序执行:按照顺序一条一条语句执行;

                选择执行:按照条件进行选择执行;

                循环执行:按照给定的循环条件进行循环执行。

         □其中,顺序不需要特定的控制,只需按照语句依次执行即可;选择执行,则需要特定的控制语句(如:if,case)来判断执行;循环执行则需要特定的循环控制控制(如:for,while等)。


一、使用read 命令来接受输入

       □在bash脚本编程过程当中有时程序需要与用户之间进行交互,如提示用户输入一些参数等,此时,我们可以使用read命令来完成此功能

       □语法:read [option]...[name]

                 -p :“说明信息”  (指示要显示的提示)   

                 -t :TIMEOUT

       注意:read从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量

       示例:read -p “Enter a filename:“ FILE


二、条件选择if语句

     □选择执行:

       注意:if语句可嵌套(if是一个关键字,不是一个命令。)

     单分支

           if 判断条件;then

           条件为真的分支代码

           fi

     双分支

           if 判断条件; then

           条件为真的分支代码

           else

           条件为假的分支代码

           fi

 □多分支

          if CONDITION1; then

              if-true

          elif CONDITION2; then

              if-ture

          elif CONDITION3; then

              if-ture

               ...

          else

              all-false

          fi

    从上而下逐条件进行判断,第一次遇到为“真”条件时,执行其分支,而后结束整个if语句

   示例:

   根据命令的退出状态来执行命令

          if ping-c1-W2station1 &> /dev/null;then

          echo ‘Station1 is UP‘ 

          elif grep"station1"~/maintenance.txt &> /dev/null;then

          echo ‘Station1 is under go ingmaintenance‘

          else 

          echo‘Station1isunexpectedlyDOWN!‘ exit1

          fi


三、条件判断case语句(主要用于离散值的匹配

     □ case 变量引用 in

         PAT1)

              分支1

          ;;

        PAT2)

              分支2

          ;;

        ...

        *)

            默认分支

          ;;

        esac

     □case支持glob风格的通配符:

           *: 任意长度任意字符

           ?: 任意单个字符

          []:指定范围内的任意单个字符[adc](也可以表示范围[1-10])

          a|b: a或b



注意:1.if语句在使用过程中,可以实现多重嵌套,这里一定要注意书写的格式,分好层次,不要写乱了

        2.case一般在离散值的匹配当中用的较多,一定要注意书写格式,不要写错了

        3.在写脚本的时候不能着急,要构思清新,每一种情况都要考虑到。



练习:

      1、写一个脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息

技术分享

      2、写一个脚本/root/bin/yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其它信息

技术分享

      3、写一个脚本/root/bin/filetype.sh,判断用户输入文件路径,显示其文件类型(普通,目录,链接,其它文件类型)

      4、写一个脚本/root/bin/checkint.sh,判断用户输入的参数是否为正整数

技术分享



Linux中的shell脚本编程---语句控制

标签:编程语言   linux   程序   单词   信息   if   

原文地址:http://1992tao.blog.51cto.com/11606804/1839343

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!