一、流程控制
1.if 判断
1.基本语法
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
fi
注意事项:
(1)[ 条件判断式 ],中括号和条件判断式之间必须有空格。
(2)if 后要有空格。
案例如下:
#!/bin/bash
if [ $1 -eq 1 ]
then
echo "I love you"
elif [ $1 -eq 2 ]
then
echo "I hate you"
fi
2.case语句
case $变量名 in
"值1")
如果变量的值等于值1,则执行程序1
;;
"值2")
如果变量值等于值2,则执行程序2
;;
...省略其他分支...
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
注意事项:
- case行尾必须为单词“in”,每一个模式匹配必须以有括号“)”结束。
- 双分号“;;”表示命序列结束,相当于java中的break。
- 最后的“*)”表示默认模式,相当于java中的default。
案例如下
#!/bin/bash
case $1 in
"1")
echo "you"
;;
"2")
echo "me"
;;
"3")
echo "she"
;;
*)
echo "other"
;;
esac
3.for循环
1.基本语法1
for((初始值;循环控制条件;变量变化))
do
程序
done
案例如下
#!/bin/bash
s=0
for((i=0;i<=100;i++))
do
s=$[ $s + $i ]
done
echo $s
2.基本语法2
for 变量 in 值1 值2 值3
do
程序
done
案例如下
打印所有输入的参数
#!/bin/bash
for i in $*
do
echo "you like $i"
done
#!/bin/bash
for i in "$*"
do
echo "you like $i"
done
for i in "$@"
do
echo "you like $i"
done
4.while 循环
1.基本语法
while [ 条件判断式 ]
do
程序
done
案例如下
#!/bin/bash
s=0
i=1
while [ $i -le 100 ]
do
s=$[$i + $s]
i=$[$i + 1]
done
echo $s