流程控制
7.1 if
判断
-
基本语法
if [ 条件判断式 ];then 执行程序 fi
或者
if [ 条件判断式 ] then 执行程序 fi
注意:
1)[ 条件判断式 ],中括号和条件判断式之间必须有空格
2)if 后要有空格
-
案例操作
#如果是1,输出我是正确的,如果是2,输出我才是正确的,其他不输出 touch if.sh #创建文件 vim if.sh #编辑文件,写入如下内容 ############################################### #!/bin/bash if [ $1 -eq "1" ];then echo "我是正确的" elif [ $1 -eq "2" ];then echo "我才是正确的" fi ############################################### chmod 777 if.sh #给文件可执行权限 ####分别运行以下命令######## ./if.sh 1 ./if.sh 2 ./if.sh 3
7.2 case
语句
-
基本语法
case $变量名 in "值1") echo "我要上春晚" ;; "值2") echo "欢乐集结号" ;; ... 其他分支 ... *) #不满足判断执行 echo "我不是综艺节目" ;; esac
注意:
1)
case
行尾必须为单词in
,每一个模式必须以右括号‘)’
结束2)双分号
‘;;’
表示命令序列结束,等值于break
3)最后的
‘*)’
表示默认模式,等值于default
-
案例操作
#输入一个数字,如果是1,输出我要上春晚;如果是2,输出欢乐集结号;其他输出我不是综艺节目 touch case.sh #创建文件 vim case.sh #编辑文件,输入如下内容 ########################################################### case $1 in "1") echo "我要上春晚" ;; "2") echo "欢乐集结号" ;; *) echo "我不是综艺节目" ;; esac ########################################################### chmod 777 case.sh #给文件可执行权限 ####分别运行以下命令######## ./case.sh 1 ./case.sh 2 ./case.sh 3
7.3 for
循环
-
基本语法
for((初始值;循环控制条件;变量变化)) do 执行程序 done ####################或者########################### for 值 in 值1 值2 值3... do 执行程序 done
-
案例操作
#案例一:从1加到100 touch anli1.sh vim anli1.sh ############################################################### #!/bin/bash s=0 for((i=0;i<=100;i++)) do s=$[$s+$i] done echo $s ############################################################### chmod 777 anli1.sh ./anli1.sh #案例二:打印所有输入的参数 touch anli2.sh vim anli2.sh ############################################################### #!/bin/bash for i in $* do echo $i done ############################################################### chmod 777 anli2.sh ./anli2.sh param2 param3
7.4 while
循环
-
基本语法
while [ 条件判断式 ] do 执行程序 done
-
案例操作
#从1加到100 tiuch while.sh vim while.sh ################################################################### #!/bin/bash s=0 i=1 while [ $i -le 100 ] do s=$[$s+$i] done echo $s ################################################################### sh while.sh