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 09:25
下一篇 2016-08-15 09:25

相关推荐

  • 网络管理2

    一、知识整理 1、网卡配置文件格式:vim /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet接口类型,常见的类型有Ethernet,Bridge BOOTPROTO=static设置静态还是DHCP获取IP,static和none都为静态,不写此行必须指定。查看配置DHCP之后的信息: cat /…

    Linux干货 2016-09-07
  • 马哥教育网络班N22期+第1周课程练习beta2

    马哥教育网络班N22期+第1周课程练习  1.计算机的组成及其功能 1.1 计算机的组成 根据冯·诺依曼体系结构,将计算机分为五个主要的部件: CPU:运算器 CPU:控制器 RAM:存储器 Input:输入设备 Output: 输出设备 其功能分别为: 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处…

    Linux干货 2016-08-15
  • ubuntu kylin虚拟机安装KVM

    1.确定物理机CPU是否支持虚拟化    查看方法1:计算机->属性->处理器(Inter(R) Core(TM) i5-2450M),然后去网上查看自己的电脑CPU是否支持虚拟化,    地址http://ark.intel.com/zh-cn/找到自己CPU的信息,虚拟化技术后是否显示为yes,如果是n…

    Linux干货 2016-10-15
  • 系统启动流程

    CentOS 5和6的启动流程服务管理Grub管理自制Linux启动排错编译安装内核 系统启动流程:  POST –> 读取BootSequence (BIOS),决定引导次序 –>读取引导设备的Bootloader(MBR grubstage1–>stage1.5/boot…

    Linux干货 2016-09-13
  • vim、定时任务、脚本初步应用及详解

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;   ~]#cp  /etc/rc.d/rc.sysinit   /tmp   在末行模式下输入:%s@^[[:space:]]\+[^[:space:]]@#&@g     &:匹配模式找到的全部…

    2016-12-04
  • 网络管理

    vpn:virtual private network RJ-45:类似电话接头  电话线接头为RJ-11 hub:集线器,多端口中继器,不具有记忆功能 switch:交换机 router:路由器 物理拓扑分类:总线,环装,星型 OSI:国际网络标准,实际采用为TCP/IP OSI七层模型:应用层:application   表…

    Linux干货 2016-09-05