文章目录
一、if语句1.基本语法2.注意事项3.示例演示三、case语句1.基本语法2.注意事项3.示例演示二、for循环1.基本语法2.示例演示四、while循环1.基本语法2.示例演示一、if语句
1.基本语法
语法①:
if [ condition ];then
程序
fi
语法②:
if [ 条件判断式 ]
then
程序
fi
2.注意事项
(1)[ condition ],中括号和条件判断式之间必须有空格
(2)if后要有空格
3.示例演示
#!/bin/bashif [ $1 -lt "5" ]thenecho "第一个参数小于5"elif [ $1 -eq "5" ]thenecho "第一个参数等于5"elseecho "第一个参数大于5"fiif [ $2 -lt "10" ];thenecho "第二个参数小于10"elif [ $2 -eq "10" ];thenecho "第二个参数等于10"elseecho "第二个参数大于10"fi
运行结果:
三、case语句
1.基本语法
case $变量名 in
“值1”)
如果变量的值等于值1,则执行程序1
;;
“值2”)
如果变量的值等于值2,则执行程序2
;;
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
2.注意事项
(1) case行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。
(2) 双分号“;;”表示命令序列结束,相当于C语言中的break。
(3) 最后的“*)”表示默认模式,相当于C语言中的default。
3.示例演示
#!/bin/bashcase $1 in1)echo "参数是1";;2)echo "参数是2";;3)echo "参数是3";;*)echo "参数不是1、2、3";;esac
运行结果:
二、for循环
1.基本语法
语法①:
for (( 初始值;循环控制条件;变量变化 ))
do
程序
done
语法②:
for 变量 in 值1 值2 值3…
do
程序
done
2.示例演示
程序1:
#!/bin/bashsum1=0sum2=0for ((i = 1; i <= 10; i++))dosum1=$[$i+$sum1]doneecho "for1 sum1 is $sum1"for j in "$*"doecho "for2 this is $j"donefor k in "$@"doecho "for3 this is $k"done
运行结果:
注意区分$*和 $@,上面的程序中将 & *和 $@都加了引号,看下面不加引号的程序:
程序2:
#!/bin/bashsum1=0for ((i = 1; i <= 10; i++))dosum1=$[$i+$sum1]doneecho "for1 sum1 is $sum1"for j in $*doecho "for2 this is $j"donefor k in $@doecho "for3 this is $k"done
运行结果:
$*代表所有参数的整体, $@代表所有参数的集合,且每个参数仍然独立,对于 $@来说,加不加引号都一样,但是对于 $ *来说就有差别了,看下面的程序:
程序3:
#!/bin/bashfor j in 1 2 3 4 5do echo "for2 this is $j"donefor k in "1 2 3 4 5"doecho "for3 this is $k"done
运行结果:
类比一下,有点像C语言的宏,对于用所有参数替代掉原来的$*,将程序1和程序2中的 & *用所有参数替代掉,就能类比程序3。
四、while循环
1.基本语法
while [ 条件判断式 ]
do
程序
done
只要涉及条件判断式,就要注意中括号和式子之间的空格
2.示例演示
#!/bin/bashsum=0while [ $sum -lt 10 ]doecho "sum 加了一次"sum=$[$sum+1]done
运行结果: