700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Shell——流程控制(if case for while)

Shell——流程控制(if case for while)

时间:2019-09-04 07:46:06

相关推荐

Shell——流程控制(if case for while)

文章目录

一、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

运行结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。