分支结构
if
无分支
if [条件];then
#指令集
fi
两个分支
if [条件];then
#指令集
else
#指令集
fi
多分支
if [条件1]; then
#指令集
elif [条件2]; then
#指令集
elif [条件2]; then
#指令集
fi
case
case $变量名 in
值1)
#指令集
;;
值2)
#指令集
;;
值3)
#指令集
;;
esac
练习: 查看$1的值 是否为 10,20,如果是请输出ok。如果不是,请计算 $1和5的倍数
循环结构
while
while [条件表达式]
do
#指令集
done
当条件成立时,执行循环内容
until
until [条件表达式]
do
#指令集
done
直到条件成立时,退出循环体
m=`expr $m + 1`
m=$[$m + 1]
m=$(($m + 1))
let m++
for
for 变量名 in 列表
do
#指令集
done
select
select 变量名 in 列表
do
#指令集
done
if case while until条件表达式中的变量是引用的变量前面需要有$ for select后的变量名是新建的变量不需要$
函数
function funname(){
#指令集
}
定义函数时:
1、function关键字可写可不写
2、里面可使用return。但是返回值0~255
3、可以使用$n位置参数向函数中传递值
调用函数时:
1、不加括号,直接写函数名
2、因为脚本从上往下解析,所以必须先定义才能调用
3、使用$?获取函数的返回值
shift指令: 将位置参数向前移动
./test6.sh 1 2 3 4
2 3 4
3 4
4