1.if
注意:
①
[
条件判断式
]
,中括号和条件判断式之间必须有空格
②
if
后要有空格
1.单分支
if [ 条件判断式 ]
then
程序
fi
2.多分支
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
else
程序
fi
2.case
(
1
)
case
行尾必须为单词“
in
”,每一个模式匹配必须以右括号“)”结束。
(
2
)双分号“
;;
”表示命令序列结束,相当于
java
中的
break
。
(
3
)最后的“
*
)”表示默认模式,相当于
java
中的
default,表示其他情况
case $变量名 in
"值 1")
如果变量的值等于值 1,则执行程序 1
;;
"值 2")
如果变量的值等于值 2,则执行程序 2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
示例
输入一个数字,如果是 1,则输出 banzhang,如果是 2,则输出 cls,如果是其它,输出
renyao。
case $1 in
"1")
echo "banzhang"
;;
"2")
echo "cls"
;;
*)
echo "renyao"
;;
esac
3.for
语法1
for (( 初始值;循环控制条件;变量变化 ))
do
程序
done
语法2
for 变量 in 值 1 值 2 值 3…
do
程序
done
示例1:1加到100
sum=0
for((i=0;i<=100;i++))
do
sum=$[$sum+$i]
done
echo $sum
示例2
for i in cls mly wls
do
echo "ban zhang love $i"
done
3.while
while [ 条件判断式 ]
do
程序
done
示例:1加到100
sum=0
i=1
while [ $i -le 100 ]
do
sum=$[$sum+$i]
i=$[$i+1]
done
echo $sum
4.read读取控制台输入
示例:提示 7 秒内,读取控制台输入的名称
#!/bin/bash
read -t 7 -p "Enter your name in 7 seconds :" NN
echo $NN