Shell脚本编程之入门基础(二)if、case的使用

Shell编程之条件选择和条件判断

 

一、条件选择(if)与条件判断(case)的对比:

if语句:是选择执行,if语句可嵌套。

if条件选择使用格式

单分支

双分支

多分支

if 判断条件;then

条件为真的分支代码

fi

if 判断条件; then

条件为真的分支代码

else

条件为假的分支代码

fi

if CONDITION1; then

if-true

elifCONDITION2; then

if-ture

elifCONDITION3; then

if-ture

else

all-false

fi

case语句的使用格式

case支持glob风格的通配符:

*: 任意长度任意字符

?: 任意单个字符

[]:指定范围内的任意单个字符

a|b: ab

case 变量引用in

PAT1)

分支1

;;

PAT2)

分支2

;;

*)

默认分支

;;

esac

以上的对比,case相对更加的灵活和书写上简单,编写较复杂的脚步,case语句更胜于if语句。 

 

二、完成下面的习题:

练习:

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

脚本代码:

blob.png

脚本执行结果:

blob.png

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

脚本代码:

blob.png

脚本执行结果:

 blob.png

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

脚本代码:

blob.png

脚本执行结果:

 blob.png

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

脚本代码:

blob.png 

脚本执行结果:

  blob.png 

原创文章,作者:Aaron_wang,如若转载,请注明出处:http://www.178linux.com/34381

(0)
Aaron_wangAaron_wang
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • lnmp部署实验

    Lnmp部署 实验环境: 1、Centos 7主机一台,客户机一台。 2、在centos 7主机上部署:    Nginx  php-fpm  php-mysql  mariadb-server 实验步骤: 1、启动nginx服务,确保80端口打开,启动mariadb-server,确保3306端口…

    Linux干货 2016-10-30
  • cp、chmod、chown、grep及正则表达式练习

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。   编辑/etc/group文件,添加组hadoop。使用vim指令编辑/etc/group文件,进入末行模式(输入冒号),然后输入$回车,将光标跳至末行,然后按下o(小写)在最后一行下面输入新的组:hadoop:x:…

    Linux干货 2016-11-21
  • Centos7下的systemd管理

    systemd简介 Systemd是由红帽公司的一名叫做Lennart Poettering的员工开发,systemd是Linux系统中最新的初始化系统(init),它主要的设计目的是克服Sys V 固有的缺点,提高系统的启动速度,systemd和upstart是竞争对手,ubantu上使用的是upstart的启动方式,centos7上使用systemd替换…

    Linux干货 2016-09-23
  • Linux文件管理初步(第二周)

    第二周作业 1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 目录管理管理类命令 mkdir make directories mkdir [OPTION]… DIRECTORY… 注意:路径基名作为命令的作用对象时,基名之前的路径必须要存在;     -p:自动按…

    Linux干货 2016-09-05
  • history命令详解,铭记历史,圆梦中华。

        铭记历史,圆梦中华。在Linux操作系统中,对于管理员操作的命令进行查询也是非常重要,而且熟练掌握调用命令历史能提高管理员管理系统的效率。     history的命令缓存数目是由一个在/etc/profile文件名为HISTSIZE的变量决定,可以通过env命令查看当前设定的数目,也可以通…

    Linux干货 2016-07-26
  • xen虚拟化基础篇

    Xen介绍:  xen是一个开放的源代码虚拟机监视器,有剑桥大学研发。它打算在单个计算机上运行多达128个满足特征的操作系统,操作系统必须进行显示地修改("移植")以在Xen上运行(但是提供对用户应用的兼容性)。这使得无需特殊硬件支持,就能达到高性能的虚拟化。 Xen由三部分组成:     第一部分…

    Linux干货 2015-08-26