目录
if判断
case语句
for循环
while循环
if判断
语法:
if [ 条件判断表达式 ]
then
程序
elif [ 条件判断表达式 ]
then
程序
else
程序
fi
注意:
- [ 条件判断表达式 ],中括号和条件判断表达式之间必须有空格。
 - if,elif,else 后要有空格
 - if,fi 不可省略,elif,else 可省略
 
示例如下:
#!/bin/bash
if [ $1 == '']
  then
    echo "参数不能为空"
elif [ $1 == 1 ]
  then
    echo "输入的数字是1"
else
  echo "输入的参数是 $1"
fi 

case语句
语法:
case $变量名 in
"值1")
程序1
;;
"值2")
程序2
;;
。。。其他分支。。。。。。
*)
默认执行程序
;;
esac
示例:
#!/bin/bash
case $1 in
1)
        echo "输入的值是1"
;;
2)
        echo "输入的值是2"
;;
*)
        echo "输入的值是其他值"
;;
esac 

注意:
- 每一匹配模式必须以右括号结束;
 - 取值可以为变量或常数;
 - 匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;(类似break);
 - 取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令;
 - case、in 和 esac 都是 Shell 关键字, esac就是case的反写在这里代表结束case;
 - 匹配模式: 可以是一个数字、一个字符串,或者是一个简单正则表达式;
 
for循环
语法1:
for(( 初始值;循环控制条件;变量变化 ))
do
程序
done
示例l:求1-100累加和
#!/bin/bash
for((i=1;i<=100;i++))
  do
    s=$[$s+$i]
  done
echo $s 

语法2:
for 变量 in 值1 值2 值3 .。。。。。
do
程序
done
示例:输出全部参数
#!/bin/bash
for i in $*
  do
    echo "输入变量是$i"
  done 

while循环
语法:
while [ 条件表达式 ]
do
程序
done
示例:求1-100累加和
#!/bin/bash
s=0
i=1
while [ $i -le 100 ]
do
    s=$[$s + $i]
    i=$[$i + 1]
done
echo $s 




















