前言:
现在兄弟们对“判定表yn”大概比较讲究,我们都需要了解一些“判定表yn”的相关知识。那么小编也在网摘上收集了一些关于“判定表yn””的相关内容,希望大家能喜欢,姐妹们一起来学习一下吧!这一节主要介绍shell scripts中最重要的一部分:
while循环for循环不定循环 while
while [ condition ] <==中括号内的状态就是判断式
do <==do 是循环的开始!
程序段落
done <==done 是循环的结束
until [ condition ]
do
程序段落
done
脚本的循环思想和代码很相似 while是当满足什么条件时执行,until是直到满足条件才执行
示例一,还是yes or no问题
while [ "${yn}" != "yes" -a "${yn}" != "YES" ] # 循环判断变量yn是不是yes或者YES,是就结束,不是一直循环下去
until [ "${yn}" == "yes" -o "${yn}" == "YES" ] # 循环直到yn变量满足条件退出,否则一直循环提示你输入
可以认真对比一下这两个循环方法有什么不同的地方
示例二:计算1+2+3+4...+100
while [ "${i}" != "100" ] #循环判断当i不等于100时执行循环体
do
i=$(($i+1))
s=$(($s+$i))
done # do...done是循环体
执行结果:
root@ubuntu:/tmp# bash sum.sh
The result of '1+2+3+...+100' is: 5050
固定循环for
相对于 while, until 的循环方式是必须要“符合某个条件”的状态, for 这种语法,则是“ 已经知道要进行几次循环”的状态!他的语法是:
for var in con1 con2 con3 ...
do
程序段
done
以上面的例子来说,这个 $var 的变量内容在循环工作时:
第一次循环时, $var 的内容为 con1 ;
第二次循环时, $var 的内容为 con2 ;
第三次循环时, $var 的内容为 con3 ;
示例一:上面的1+2+3+...+100用for循环更加方便:
for i in $(seq 1 100) # (seq 1 100)相当于对1,2,3....100执行了100次循环,也可以替换成{1...100}
(( $sum+$i )) # (( 计算体)) 这种格式是shell scripts简单的数值计算公式
执行结果:
root@ubuntu:/tmp# bash echo_i.sh
The result of 1+2+3+4+...+100=: 5050
示例二:简单列举法:
#!/bin/bash
for fruit in apple banana orange watermelon # 对四种水果循环输出(每个变量之间有空格)
do
echo "Today's fruit is: $fruit"
done
执行结果:
root@ubuntu:/tmp# bash fruit.sh
Today's fruit is: apple
Today's fruit is: banana
Today's fruit is: orange
Today's fruit is: watermelon
root@ubuntu:/tmp# vi fruit.sh
示例三:由于系统上面的各种帐号都是写在 /etc/passwd 内的第一个字段,你能不能通过管线命令的 cut 捉出单纯的帐号名称后,以 id 分别检查使用者的识别码与特殊参数呢?由于不同的 Linux 系统上面的帐号都不一样!此时实际去捉 /etc/passwd 并使用循环处理,就是一个可行的方案了!程序可以如下:
cut -d ':' -f1 /etc/passwd # 对/etc/passwd进行输出,每行已冒号为分隔单位(-d :)并且打印第一列(-f1)
执行结果:
示例四:举一个常用的例子,ping主机是否联通
执行结果:
以上就是本节的主要内容,有异议的地方欢迎评论区讨论,私信小编也可以,此头条号专注于Linux、Python知识的介绍,有需要的小伙伴们可以关注一下,您的支持就是小编最大动力,谢谢!!!
标签: #判定表yn