linux使用while语句阶乘,51CTO博客-专业IT技术博客创作平台-技术成就梦想

一、while语句

while语句是shell脚本中的循环语句,语法格式如下

while 测试条件;do语句1

语句2

done

解释:当测试条件满足的时候循环,当测试条件不满足的时候跳出循环

二、常见使用

1、经典while语句

计算1到100之间的和#!/bin/bash

#Version 0.1

#Author:Myb_sir

#Pragarm:计算1到100之间所有整数的和

#Date:2014-03-30

#定义变量

declare -i Sum=0

declare -i i=1

while [ $i -le 100 ];do

#下方这条while语句也可以实现循环条件

#while (($i<101));do

let Sum+=i

let ++i

#下方这两行语句也可以实现变量Sum和i的重新赋值

#Sum=$[$Sum+$i]

#i=$[$i+1]

done

echo "1到100之间所有整数的和为$Sum"

结果如下[root@myb362 scripts]# ./whilesum.sh

1到100之间所有整数的和为5050

2、while read line 用法之读取文件

在Linux中有很多方法逐行读取一个文件,其中最常用的就是while read line 这种方法,而且效率最高,使用最多。

语法结构

while read line;do

echo $line

done 

取出系统中的所有用户和shell#!/bin/bash

#Version 0.1

#Author:Myb_sir

#Pramgram:显示系统中的所有用户和默认shell

#Date:2014-03-30

while read line;do

User=`echo $line |cut -d: -f 1`

Shell=`echo $line |cut -d: -f 7`

echo "用户$User的默认shell是$Shell"

done < "/etc/passwd"

执行结果[root@myb362 scripts]# ./whileuser.sh

用户root的默认shell是/bin/bash

用户bin的默认shell是/sbin/nologin

用户daemon的默认shell是/sbin/nologin

用户adm的默认shell是/sbin/nologin

用户lp的默认shell是/sbin/nologin

用户sync的默认shell是/bin/sync

用户shutdown的默认shell是/sbin/shutdown

用户halt的默认shell是/sbin/halt

用户mail的默认shell是/sbin/nologin

用户uucp的默认shell是/sbin/nologin

用户operator的默认shell是/sbin/nologin

用户games的默认shell是/sbin/nologin

用户gopher的默认shell是/sbin/nologin

用户ftp的默认shell是/sbin/nologin

用户nobody的默认shell是/sbin/nologin

用户vcsa的默认shell是/sbin/nologin

用户saslauth的默认shell是/sbin/nologin

用户postfix的默认shell是/sbin/nologin

用户sshd的默认shell是/sbin/nologin

3、while read line用法之管道

语法结构

command Filename |while read line;do

echo $line

done

上边的例子同样还可以这样写#!/bin/bash

#Version 0.1

#Author:Myb_sir

#Pramgram:显示系统中的所有用户和默认shell

#Date:2014-03-30

cat /etc/passwd|while read line;do

User=`echo $line |cut -d: -f 1`

Shell=`echo $line |cut -d: -f 7`

echo "用户$User的默认shell是$Shell"

done

执行结果[root@myb362 scripts]# ./whileuser.sh

用户root的默认shell是/bin/bash

用户bin的默认shell是/sbin/nologin

用户daemon的默认shell是/sbin/nologin

用户adm的默认shell是/sbin/nologin

用户lp的默认shell是/sbin/nologin

用户sync的默认shell是/bin/sync

用户shutdown的默认shell是/sbin/shutdown

用户halt的默认shell是/sbin/halt

用户mail的默认shell是/sbin/nologin

用户uucp的默认shell是/sbin/nologin

用户operator的默认shell是/sbin/nologin

用户games的默认shell是/sbin/nologin

用户gopher的默认shell是/sbin/nologin

用户ftp的默认shell是/sbin/nologin

用户nobody的默认shell是/sbin/nologin

用户vcsa的默认shell是/sbin/nologin

用户saslauth的默认shell是/sbin/nologin

用户postfix的默认shell是/sbin/nologin

用户sshd的默认shell是/sbin/nologin

四、无限循环

while中无限循环使用((1))或者[1]

语法结构

while (());do语句1

语句2

done

或者使用条件判断也可以

while [ 1 –gt 0 ];do语句1

语句2

done

总结:以上是while语句的基本用法。还有until一个循环语句了。今天争取更完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值