shell script-条件语句、循环语句

条件语句

 1 #!/bin/bash
 2 
 3 read -p "input your name:" name
 4 #第一种判断
 5 if [ "$name" == "Mike" ]; then    #注意这里用 [... ]比较两个字符串时,变量 $name 引号,并且 "==" 两边有空格;"["后面有空格; "]"前面有空格
 6     echo "eq"
 7 else
 8     echo "not eq"
 9 fi
10 
12 #第二种判断
13 if test $name= "Mike" ; then      #注意这里用 test 比较两个字符串时,变量 $name 没有加引号,并且 "=" 两边有空格
14     echo "eq"
15 else 
16     echo "not eq"
17 fi

第一种判断和第二种是等效的。

case 语句

 1 #!/bin/bash
 2 
 3 read -p "input your name: " name
 4 
 5 case $name in 
 6     "Mike" )
 7         echo "you are Mike"
 8      ;;
 9     "Tom" )
10         echo "you are Tom"
11     ;;
12     * )            #相当于通配符,0~无穷多个任意字符
13         echo "anything"
14     ;;
15 esac

循环

     

 1 while [  condition ]      #表示condition成立时,执行
 2 do
 3      #程序段落
 4 done
 5 
 6 
 7 until [ condition ]       #表示condition不成立时,执行;若成立,则退出循环
 8 do
 9     #程序段落
10 done
11 
12 
13 for var in con1 con2 con3.... # 第一次循环,$var 内容为con1;第二次为con2....
14 do
15     #程序段落
16 done
17 
18 
19 for (( i=1 ; i<100 ; i=i+1))
20 do
21     s=$(($s+Si))
22 done
原文地址:https://www.cnblogs.com/formyjava/p/4214628.html