shell-流程控制

shell-流程控制

起男 565 2022-09-21

shell-流程控制

if

语法

单分支

if [ 条件判断 ]; then
	程序
fi

多分支

if [ 条件判断 ]; then
	程序
elif [ 条件判断 ]; then
	程序
else
	程序
fi

如果使用多条件判断需要写作:if [ 条件判断 ] 逻辑运算符 [ 条件判断 ]; then 代码; fi,的形式,如果想要在一个[]中使用需要使用:-a或者-o代表逻辑与和逻辑或

case

语法

case $变量 in
值1)
	程序
;;
值2)
	程序
;;
*)
	程序
;;
esac
  • case行尾必须为单纯in,每个模式匹配必须以)结束
  • ;;表示命令序列结束,相当于java中的break
  • 最后的*)表示默认模式,相当于java中的default

for

语法

for (( 初始值; 循环条件; 变量变化 )); do
	程序
done

这里因为使用了(( ))所以可以直接使用数学运算符

for 变量 in 值1 值2 ...; do
	程序
done

值1 值2 …这里可以使用序列{}代替,比如要写1-100,可以写做:{1..100}

while

语法

while [ 条件判断式 ]; do
	程序
done