目录 一.条件选择: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)