shell脚本编程之if条件判断与for、while、until循环

一、if语句

语法:
if 测试条件1 ; then
       分支1
elif  测试条件2; then
       分支2
...
else 
       分支n
fi

说明:测试条件1为真,则执行分支1退出;测试条件1为假,则判断测试2是否为真,根据返回值来决定是否执行分支2

           ;后续分支同理。

示例:传递一个用户给脚本:

如果此用户的id为0,则显示说这是管理员:

如果此用户的id大于等于500,则显示说这是普通用户

如果此用户的id大于0小于500,则显示说这是系统用户

否则,则显示此用户不存在

2.png

二、for循环

语法:
for 变量名 in 取值列表
do
     循环体
done

说明:变量依次从取值列表中取值后执行循环体,则至遍历取值列表。

示例:利用for循环计算/etc/passwd中所有用户UID相加之和。

3.png

三、while循环

语法:
while 条件测试; do 
      循环体
done

说明:首先进行条件测试,如果结果为真,则进入循环,执行循环体;结果为假,则退出循环。

示例:利用while循环求100以内正整数之和。

4.png

四、until循环

语法:
until 条件测试; do 
      循环体
done

说明:until与while刚好相反,条件测试结果为假则进入循环,为真则退出循环。

示例:利用until循环求100以内正整数之和。

5.png

原创文章,作者:老鼠上了猫,如若转载,请注明出处:http://www.178linux.com/7282

(2)
老鼠上了猫老鼠上了猫
上一篇 2015-08-24 21:44
下一篇 2015-08-24 21:46

相关推荐

  • 系统基础之sed工具详解

    sed工具详解 NAME:  sed – stream editor for filtering and transforming text(实现文本替换和过滤功能)  类型: 行编辑器(流) 特点: 把文件中的每一行加载到内存中,匹配模式,把能够匹配到模式的内容输出到屏幕,不修改原文件 工作模式:   每一次读取一…

    Linux干货 2016-08-10
  • LVS类型及其调度算法

    LVS类型:     NAT:–>(DNAT) (多目标的DNAT)     DR:     TUN:     FULLNAT: LVS NAT的特性  &nbs…

    Linux干货 2016-10-29
  • Net25-第9周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash for line in `cat /etc/passwd`;do if [[ `echo $line | awk -F: ‘{print $7}’` == ‘/sb…

    Linux干货 2017-03-15
  • MySQL慢日志监控脚本实例剖析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1577326        公司线上的 MySQL 慢日志,之前一直没有做好监控。趁着上周空闲,我就把监控脚本写了下,…

    Linux干货 2016-08-15
  • iptables练习

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 系统默认策略设定: ~]# iptables -P INPUT DROP ~]# iptables -P OUPUT DROP 网络说明…

    Linux干货 2016-12-27
  • class14磁盘管理(一)

    一、硬盘基础知识及分区类型 1、磁盘结构 设备文件 I/O Ports: I/O 设备地址 一切皆文件:   open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键…

    Linux干货 2016-08-29