shell编程中的流程控制语句
1、条件选择:if语句 ①单分支 if判断条件;then 条件为真的分支代码 fi ②双分支 if判断条件;then 条件为真的分支代码 else 条件为假的分支代码 fi ③多分支 if判断条件1;then 条件为真的分支代码 elif判断条件2;then 条件为真的分支代码 elif判断条件3;then 条件为真的分支代码 else 以上条件都为假的分支代码 fi 示例:请用户输入成绩:80-100为优秀,60-79为通过,其他淘汰。 #!/bin/bash read-p"peleaseinputyourscore:"score if["$score"-ge80-a"$score"-le100];then echo"优秀" elif["$score"-lt80-a"$score"-ge60];then echo"通过" else echo"淘汰" fi 2、条件判断: case语句 语法:case变量引用in PAT1) 分支1;; PAT2) 分支2;; ... *) 默认分支;; esac case支持glob风格的通配符: 。。。 示例:编写脚本,提示用户输入yes或no不区分大小写,并判断用户输入的是yes还是no或者其他信息。 #!/bin/bash read-p"pleaseinputyesorno:"yn ans=$(echo$yn|tr"[[:upper:]]""[[:lower:]]") case$ansin y|yes) echoyes;; n|no) echono;; *) echoyes/no? esac 3、for循环 语法:for 变量名 in 列表; do 执行机制:依次将列表中的元素赋值给“变量名” ; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束。 列表生成方式: 示例:用for循环打印九九乘法表。 #!/bin/bash foriin{1..9};do forjin$(seq$i);do echo-ne"$j*$i=$[$i*$j]t" done echo done for循环的特殊格式:
#!/bin/bash for((i=1;i<=9;i++));do for((j=1;j<=i;j++));do echo-ne"$j*$i=$[$j*$i]t" done echo done 4、while循环 语法:while CONDITION; do CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true”,则执行一次循环;直到条件测试状态为“false”终止循环 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |