#!/bin/bash # 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了, # 猜小了或猜大了,直至用户猜对脚本结束。 # RANDOM 为系统自带的系统变量,值为 0‐32767的随机数 # 使用取余算法将随机数变为 1‐100 的随机数 num=$[RANDOM%100+1] echo "$num" # 使用 read 提示用户猜数字 # 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于), # ‐lt(小于),‐le(小于等于) while : do read -p "计算机生成了一个 1‐100 的随机数,你猜: " cai if [ $cai -eq $num ] then echo "恭喜,猜对了" exit elif [ $cai -gt $num ] then echo "Oops,猜大了" else echo "Oops,猜小了" fi Done运行成功的截图
时间: 2024-04-01 11:37:58 浏览: 152
抱歉,我无法查看你的本地运行截图。不过,我可以看到该脚本的一些问题。首先,Done 应该是 done,是一个语法错误。另外,脚本在生成随机数时使用了 $[...] 的形式,这是一种旧的 Bash 扩展方式,建议改为 $((...)) 的形式。最后,需要注意一些特殊情况,例如用户输入的不是数字时脚本会出错,建议加入输入检查的逻辑。
相关问题
#!/bin/bash # 脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了, # 猜小了或猜大了,直至用户猜对脚本结束。 # RANDOM 为系统自带的系统变量,值为 0‐32767的随机数 # 使用取余算法将随机数变为 1‐100 的随机数 num=$[RANDOM%100+1] echo "$num" # 使用 read 提示用户猜数字 # 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于), # ‐lt(小于),‐le(小于等于) while : do read -p "计算机生成了一个 1‐100 的随机数,你猜: " cai if [ $cai -eq $num ] then echo "恭喜,猜对了" exit elif [ $cai -gt $num ] then echo "Oops,猜大了" else echo "Oops,猜小了" fi Done
这段代码是一个 Bash 脚本,用于生成一个 1-100 之间的随机数,并提示用户猜数字,根据用户的输入提示用户猜对了、猜小了或猜大了,直到用户猜对为止。该脚本使用系统自带的 RANDOM 变量生成一个 0-32767 的随机数,然后使用取余算法将其变为 1-100 的随机数。接着,使用 read 命令提示用户输入猜测的数字,并使用 if 语句判断用户猜测的数字与随机数的大小关系。如果猜对了,就输出恭喜的信息并退出脚本,否则就根据猜测结果输出对应的提示信息。需要注意的是,while 循环中的 Done 应该是 done,是一个语法错误。
#!/usr/bin/env bash n=$(( RANDOM % 100 )) if [[ n -eq 42 ]]; then echo "Something went wrong" >&2 echo "The error was using magic numbers" exit 1 fi echo "Everything went according to plan"
这是一个 Bash 脚本,它生成一个随机数 n,然后检查 n 是否等于 42。如果 n 等于 42,它会输出 "Something went wrong",并将 "The error was using magic numbers" 写入标准错误输出。最后,它会退出状态码 1。如果 n 不等于 42,它会输出 "Everything went according to plan"。
阅读全文