龙空技术网

Linux之学习shell scripts必经之路

Python小飞猪 173

前言:

现在兄弟们对“判定表yn”大概比较讲究,我们都需要了解一些“判定表yn”的相关知识。那么小编也在网摘上收集了一些关于“判定表yn””的相关内容,希望大家能喜欢,姐妹们一起来学习一下吧!

这一节主要介绍shell scripts中最重要的一部分:

while循环for循环不定循环 while

while [ condition ] <==中括号内的状态就是判断式

do <==do 是循环的开始!

程序段落

done <==done 是循环的结束

until [ condition ]

do

程序段落

done

脚本的循环思想和代码很相似 while是当满足什么条件时执行,until是直到满足条件才执行

示例一,还是yes or no问题

while执行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执行1+2....+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循环执行1+2+...+100

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 并使用循环处理,就是一个可行的方案了!程序可以如下:

for循环输出系统账户

cut -d ':' -f1 /etc/passwd # 对/etc/passwd进行输出,每行已冒号为分隔单位(-d :)并且打印第一列(-f1)

执行结果:

for循环执行输出系统账户输出结果

示例四:举一个常用的例子,ping主机是否联通

for循环测试多ip是否能ping通

执行结果:

for循环测试多ip是否能ping通执行结果

以上就是本节的主要内容,有异议的地方欢迎评论区讨论,私信小编也可以,此头条号专注于Linux、Python知识的介绍,有需要的小伙伴们可以关注一下,您的支持就是小编最大动力,谢谢!!!

标签: #判定表yn