if单分支与循环结构


------------------------------
if[条件]
 then    
    指令
fi
------------------------------
if[条件];then
    指令
fi
------------------------------

#if双分支与循环结构

if[条件];then
    指令
    eles
    指令
fi
------------------------------

#if多分支与循环结构

if[条件]
  then
    指令
  elif [条件]
    then
      指令
   eles
   指令   
fi
------------------------------


case结构条件语句

------------------------------
case "字符串变量" in
    值1) 指令1...
  ;;
      值2)指令2...
  ;;
      *)指令...
   
esac
------------------------------

case "找女朋友条件" in
    有房) 嫁给你
  ;;
      你爸是李刚)嫁给你
  ;;
     努力吃苦)可以考虑先谈朋友
  ;;
      *)bye!!
   
esac

范例:
#!/bin/sh

RED='\033[31m'
GREEN='\033[32m'
YELLOW='\033[33m'
BLUE='\033[34m'
RES='\033[0m'

menu(){
cat <<END
=============
|  1.Apple  |
|  2.pear   |
|  3.banana |
|  4.cherry |
=============
END
}

while true
do
menu
read -p "shuru:" a

case "$a" in

        1|5|6) 
          echo -e "${RED} Apple ${RES}"        
;;        
        2)
          echo -e "${GREEN} Pear ${RES}"
;;
        3)   
          echo -e "${YELLOW} banana ${RES}"
;;
        4)
          echo -e "${BLUE} cherry ${RES}"
;;  
        *)
          echo "shu ru cuo wu"  
        exit 1 
;;
esac    
done
----------------------------------------------

ECHO

echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[34m 黄色字 \033[0m"
echo -e "\033[41;33m 红底黄字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"

当型循环 和 直到型循环语句

#while语法:
----------------------------------------------
while 条件
    do
    指令
done

手机充值:发送短信扣费,费用低于10分,不能发
----------------------------------------------

范例:
每2秒打印系统负载

#!/bin/sh

while true
do
    uptime
    sleep 2
done

范例2

#!/bin/sh

ye=10
while [[ $ye > 1 ]]
do

   echo "本次减少0.15"
   ye=$(echo "($ye-0.15)"|bc)
   echo "当前:$ye"
   sleep 1
done


----------------------------------------------
#until条件语法

until 条件
    do
    指令
done

for循环语句

for 变量名 in 变量取值列表
do
    指令
done

for((exp1;exp2;exp3))
do
    指令
done

for((i=0;i<=10;i++))
do
curl www.baidu.com
done

范例:
#!/bin/sh

for n in 5 4 3 2 1
do
        echo $n
done

范例2:
#!/bin/sh

for n in {5..1}
do
        echo $n
done

范例4:
#!/bin/sh

for n in `seq 5`
do
        echo $n
done