Shell循环语句:随机数、while、until和无限循环



随机数$RANDOM

R A N D O M 是 B a s h 内置变量,表示一个随机的整数值。 RANDOM 是 Bash 内置变量,表示一个随机的整数值。 RANDOMBash内置变量,表示一个随机的整数值。RANDOM 的值范围是 0-32767。

格式

$RANDOM
$((RANDOM%100)) #取值0-99

while循环

while 循环用于不断执行一系列命令,也用于从输入文件中读取数据。

满足条件执行,不满足不执行。

用于不知道循环次数,需要主动结束循环或达到条件结束循环。

语法格式

while condition
do
    command
done

示例1

如果 int 小于等于 5,那么条件返回真。int 从 1 开始,每次循环处理时,int 加 1。运行上述脚本,返回数字 1 到 5,然后终止。

#!/bin/bash
int=1
while(( $int<=5 )) #或者 while [ $i -le 5  ] 
do
    echo $int
    let "int++"
done

示例2

echo '按下 <CTRL-D> 退出'
echo -n '输入你最喜欢的网站名: '
while read FILM
do
    echo "是的!$FILM 是一个好网站"
done

输出:
按下 <CTRL-D> 退出
输入你最喜欢的网站名:www
是的!www 是一个好网站

until循环

until 循环通常用于当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环,比如等待某个进程退出、等待某个文件被创建等。

until 循环执行一系列命令,直至条件为 true 时停止。

until 循环与 while 循环在处理方式上刚好相反。

一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用。

语法格式

until condition #条件表达式
do
    command 
done

condition 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。

示例

使用 until 命令输出 0 ~ 9 的数字:

###方法1
i=0
sum=0
until [ $i -ge 10 ] #大于10
do
  echo $i
  let i++
  sum=$(($sum+$i))
done

###方法2
until [ ! $a -lt 10 ] #小于等于10
do
   echo $a
   a=`expr $a + 1`
done

无限循环

语法格式1

while : #判断条件为冒号表示死循环
do
    command
done

语法格式2

while true
do
    command
done

语法格式3

for (( ; ; ))

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值