(if是判断一个范围进行分支、case是判断几个具体的值进行分支)
基本语法:(!!!简写:if [ 条件判断式 ]; then 程序; fi;)
if [ 条件判断式 ];then
程序
else
程序
fi
或者:
if [ 条件判断式 ]
then
程序
elif [ 条件判断式 ]
then
程序
fi
注意事项:
1)[ 条件判断式 ]中括号和条件判断式之间必须有空格(if与"[“也有空格即”["前后都要有空格)
2)推荐使用第二种方式;
应用实例: 请编写一个shell程序,如果输出的参数大于等于60,则输出“及格了”,如果小于60,则输出“不及格”;
基本语法:
case $变量名 in
"值1")
如果变量的值等于值1,则执行程序1
;;
"值2")
如果变量的值等于值2,则执行程序2
;;
省略其他分支...
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
应用案例: 当命令行参数是1时,输出“周一”,是2时,就是出“周二”,其他情况输出“other”;
基本语法1:(!!!简写:for 变量 in 值1 值2 值3; do 程序; done)
for 变量 in 值1 值2 值3 ...
do
程序
done
应用案例1: 打印命令行输入的参数
基本语法2:
for ((初始值;循环控制条件;变量变化))
do
程序
done
应用案例2: 从1加到100的值输出显示[会使用到去取命令行占位的方式:$ * 和 $ @。这里可以看出 $ * 和 $@ 的区别]
基本语法1:(!!!简写:while [ 条件判断式 ]; do 程序; done)
while [ 条件判断式 ]
do
程序
done
应用案例1: 从命令行输出一个数n,统计从1+…+n的值是多少?