linux用shell编写猜数字,【Shell>实例】while语句构建猜数字游戏

while 条件循环语句是一种让脚本根据某些条件来重复执行命令的语句,它的循环结构往往在执行前并不确定最终执行的次数,完全不同于 for 循环语句中有目标、有范围的使用场景。 while 循环语句通过判断条件测试的真假来决定是否继续执行命令,若条件为真就继续执行,为假就结束循环。

这里我们构建一个猜数字游戏的实例来了解while命令以及相关循环的用法。

猜数字游戏想必大家不陌生,由一个人作为裁判,选择一个数字,先指定大致范围,由众人猜测,根据猜测给出“高”或者“低”的评价,然后缩小范围,最后猜中的人有特别的“奖励”。

这里先指定大致的范围为0-999,脚本如下:

#!/usr/bin/env bash

# While usage: guess number

NUMBER=$(expr $RANDOM % 1000 )

TIMES=0

echo "The number is between 0-999, please guess it."

while true

do

read -p "Please input the number: " INT

let TIMES++

if [ $INT -eq $NUMBER ]; then

echo "You are right! The number is $NUMBER."

echo "You guess $TIMES times."

exit 0

elif [ $INT -gt $NUMBER ]; then

echo "Too high... Please

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: while循环是一种在Linux下使用shell脚本的循环结构,它可以重复执行一组命令,直到满足某个条件为止。while循环的语法格式如下: while [ condition ] do command1 command2 ... done 其中,condition是一个条件表达式,如果它的值为真,则会执行循环体中的命令,否则跳出循环。循环体中可以包含任意数量的命令,每个命令都必须以换行符结束。当循环体中的所有命令都执行完毕后,会再次检查条件表达式的值,如果仍为真,则继续执行循环体中的命令,直到条件表达式的值为假为止。 ### 回答2: 在Linux下,shell脚本是一种用于自动化任务的脚本语言,while循环是其中比较重要的控制结构之一。 while循环可用于执行一个命令序列,直到条件不再为真。其基本语法为: ``` while condition do command(s) done ``` 其中condition是一个用于检查循环是否继续执行的判断条件,可以是任何语句,但必须以非零退出状态码表示false,零退出状态码表示true。 在循环体内,可使用任何shell命令和语句,包括if-then语句、break、continue等。 while循环的实例: 我们可以用while循环输出0到9之间的数字: ``` #!/bin/bash i=0 while [ $i -lt 10 ] do echo $i i=$((i+1)) done ``` 这个脚本首先用i=0初始化一个变量i,然后在while loop中,我们检查i是否小于10。如果是,我们输出i的值,并将i递增。循环继续执行,直到i不小于10为止。 总之,while循环是编写Linux脚本中不可或缺的控制结构之一,能够有效地帮助我们完成各种任务,提高工作效率。 ### 回答3: Shell脚本是一种在Linux系统下使用的编程语言,它支持大量的命令行操作和自动化任务。其中,while循环是Shell脚本中最常用的循环结构之一,它允许我们根据某个条件不断地重复执行一段代码块。在本文中,我们将详细介绍linuxShell脚本中的while循环。 1. while循环语法 while循环语法如下: ``` while [ condition ] do command1 command2 command3 ... done ``` 其中,`condition`是一个测试条件,每次循环开始之前都会被检查。如果`condition`为真,则会执行循环体中的多个`command`。之后再次检查`condition`,如果仍为真,则会一直重复执行多个`command`,直到`condition`为假为止。 2. while循环实例 以下是使用Shell脚本中while循环的几个实例: ``` # 打印数字1至10 x=1 while [ $x -le 10 ] do echo $x x=$((x+1)) done # 读取文件中的每一行,并打印 while read line do echo $line done < filename.txt # 无限循环,直到用户输入"quit" while true do read x if [ $x == "quit" ] then break fi done ``` 在上述示例中,第一个例子是使用while循环打印数字1至10。我们使用`x`变量来跟踪循环次数,并在循环体中递增`x`的值,直到达到目标值。 第二个例子是从文件中读取每一行并将其打印。我们使用`read`命令来读取文件中的每一行,并将其存储在`line`变量中。然后,我们可以在循环体中使用`echo`命令打印行。 第三个例子是使用while循环创建一个无限循环。我们使用`true`命令作为无限循环的测试条件。在循环体中,我们使用`read`命令从标准输入读取一个字符串,并检查它是否等于"quit"。如果是,我们使用`break`命令退出循环。 3. 总结 在Linux下使用Shell脚本时,while循环是非常有用的。它使我们能够执行一些基本的重复任务,例如打印数字或读取文件。使用while循环还可以创建无限循环,例如等待用户输入命令。掌握while循环语法和样例之后,我们可以将它们集成到我们的Shell脚本中,从而实现更多的自动化任务和工作流程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值