通过几个案例把握shell编程前提分支构造-linux运维
第一,我们来看shell足本的根本构造,根本构造如下:
#!/bin/bash 代码
下面,我们来编写一个最简略的shell足本程序吧。
#!/bin/bash echo 'hello world'
当上面程序施行后,就会在屏幕上打印出hello world字符。
接下来,我们再来看看前提分支构造,shell足本对于前提分支的语句有if、case。
if
和其他编程说话同样,shell程序的if语句,前提分支也分为单分支、双分支以及多分支。
# 单分支 if 前提 ;then …… fi # 双分支 if 前提 ;then …… else …… fi # 多分支 if 前提;then …… elif 前提;then …… else …… fi
第一,我们来用一个简略的例子来练练手,写一个shell足本,该足本功能是当会员输入一个得分时,程序通过得分来导出不一样的评语,不合格、良好、优良等。
第一,我们需要先提醒会员,让会员输入一个三位数之内的数字。当会员输入的格局不准确的时候,需要告诉会员从新输入成绩,然后退出程序。代码如下:
read -p "请输入成绩,成绩范畴0-100: " score if [ -z `echo $score | egrep '^[0-9]+$'` ];then echo "输入的成绩格局不准确" fi
上述代码,我们用到了if的单分支构造。接下来,我们需要用到多分支了,依据成绩打印出不一样的评语。
if ((score >= 90));then echo '优良' elif ((score >= 80));then echo '良好' elif ((score >= 70));then echo '个别' elif ((score >= 60 ));then echo '合格' else echo '不合格' fi
上述代码非常的简略,下面我们贴出完备的代码,完备代码如下:
#!/bin/bash read -p "请输入成绩,成绩范畴0-100: " score if [ -z `echo $score | egrep '^[0-9]+$'` ];then echo "输入的成绩格局不准确" fi if ((score >= 90));then echo '优良' elif ((score >= 80));then echo '良好' elif ((score >= 70));then echo '个别' elif ((score >= 60 ));then echo '合格' else echo '不合格' fi
case
下面,我们来看另一个前提分支语句case,它的根本构造如下:
case $变量 in "内容1") 代码块1 ;; "内容2") 代码块2 ;; …… *) 代码块n ;; esac
上述的内容意思是这样的,当“变量值”等于“内容1”时,施行代码块1,等于“内容2”时,施行代码块2,要是前面的都谴责脚,则施行代码块n。
接下里,我们通过一个简略的案例来看看case是怎样使用的。
#!/bin/bash case $1 in "start") echo "this code is start" ;; "stop") echo "this code is stop" ;; "restart") echo "this code is restart" ;; *) echo "Usage ${0} {start|stop|restart}" ;; esac
上述代码的含义是,当会员输入参数为start时,程序打印this code is start,当输入的参数为stop时,导出this code is stop,当输入参数为restart时,导出this code is restart,不然的话输入“Usage 足本文件名 {start|stop|restart}”。
以上就是通过几个案例把握shell编程前提分支构造的细致内容,更多请关注 百分百源码网 其它相干文章!