博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本之 if,case,for的用法
阅读量:6874 次
发布时间:2019-06-26

本文共 1554 字,大约阅读时间需要 5 分钟。

目录

一.条件选择:if语句
二.条件判断:case语句
三.for循环

一.条件选择:if语句

  1. 单分支
    if 判断条件;then
    条件为真的分支代码
    fi
    例子:判断一个数字是否等于10
    #!/bin/bash
    read -p '输入一个数字' num
    if [ $num -eq 10 ];then
    echo 该数字等于10
    fi
  2. 双分支
    if 判断条件; then 条件为真的分支代码
    else 条件为假的分支代码
    fi
    例子:判断一个数字是否大于10
    #!/bin/bash
    read -p '输入一个数字' num
    if [ $num -gt 10 ];then
    echo 该数字大于10
    else
    echo 该数字不大于10
    fi
  3. 多分枝

    if 判断条件1; then 条件为真的分支代码
    elif 判断条件2; then 条件为真的分支代码
    elif 判断条件3; then 条件为真的分支代码
    else 以上条件都为假的分支代码
    fi
    例子:判断一个数字的范围

    #!/bin/bash        read -p '输入一个数字' num        if [ $num -lt 10 ];then             echo 该数字小于10        elif [ $num -ge 10 -a $num -lt 20  ];then              echo 该数字大于等于10小于20         elif [ $num -ge 20 -a $num -lt 50 ];then              cho 该数字大于等于20小于50         else                   echo 该数字大于等于50        fi

    二.条件判断case语句

    case $变量名 in        条件1)         分支1;;        条件2)          分支2;;        默认条件 *)           默认分支;;         esac                    每个条件后面跟  )结尾 每个分支后面以 ;; 结束 例子             写一个能判断yes/no的脚本,(大小写均能识别,yes九种可能,no四种可能)、                      #!/bin/bash        read -p "请输入yes|no: " q        case $q in         [Yy][Ee][Ss]|[Yy])        echo "yes";;        [Nn][Oo])        echo "no";;             *)        echo "请输入正确的格式"        esac

    三.for循环

    执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执 行一次循环体; 直到列表中的元素耗尽,循环结束

    for 变量名 in 列表;do
    循环体
    done

    例1 利用for循环 计算1到10所有正整数之和

    #!/bin/bash
    let s=0
    for n in echo {1..10};do
    s=$[$s+$n]
    echo $s
    done
    例2 利用for循环打印99乘法表
    #!/bin/bash
    for i in {1..9};do
    for n in seq 1 $i;do
    echo -n -e " $i"x"$n=$[i*n] "
    done
    echo
    done

    (每一个for要对应一个done)

转载于:https://blog.51cto.com/13572749/2088232

你可能感兴趣的文章
开启智慧新生活 新余市智慧城市建设全省率先
查看>>
智慧东湖让城市慢游更幸福
查看>>
陕西联通推进高速公路WiFi覆盖
查看>>
Linux之iconv转换文本格式的问题
查看>>
linux 用户权限和组权限
查看>>
RPM的使用
查看>>
我的友情链接
查看>>
lvs
查看>>
原型图设计软件
查看>>
setTimeout和setIntelval的区别
查看>>
[C#]通过方法获得游戏人数和玩家姓名
查看>>
How to rotate a bitmap
查看>>
spring常见注解
查看>>
我的友情链接
查看>>
Linux 磁盘分区
查看>>
基于虚拟用户的邮件服务器在企业网中的应用
查看>>
android开发中shape的绘制
查看>>
在XP系统下安装ubuntu12.04
查看>>
数据库同步过程中一致性和完整性的保证
查看>>
VC++中图像处理类CBitmap的用法
查看>>