Linux Bash Number Range echo 语法错误

标签 linux bash echo

我在编程和使用 Linux 命令来帮助我理解命令和脚本方面是一个新手,但是我正在创建的脚本给我一个 echo 语法错误,我摸不着头脑为什么它给我错误。整个脚本假设要求一个范围内的数字,读取键盘输入,并循环直到输入正确的数字。还告诉用户他们每次猜测是对还是错。

我不知道脚本是否会正确运行以及脚本中还有什么地方是错误的,请给我反馈并告诉我如何解决问题。提前致谢。

#!/bin/bash
loop=y
for i in $(seq 10)
echo Please pick a number between 1 and 10.
Read varnumber
echo you entered: $varnumber
if 
varnumber=3
then
echo Correct number, access granted...nothing
break
if 
varnumber <2>4
then echo Incorrect number, please try again.
loop=y

最佳答案

由于出现多处语法错误, friend 们要求使用shellcheck工具。看看那个工具;这将有助于识别语法错误。

回到您的脚本,请将 guessNumber 更改为任意数字并运行:

#!/bin/bash
guessNumber=3
let "maxGuess=$guessNumber + $(( ( RANDOM % 100 )  + 1 ))"
while  [ 1 ] ; do
    printf "\n\nPlease pick a number between 1 and $maxGuess: "
    read varnumber
    echo "   you entered: $varnumber"
    if [ "$varnumber" == "$guessNumber" ] ; then
        echo "   Correct number, access granted...nothing"
        break
    else
        echo "   Incorrect number, please try again."
    fi
done

要知道的事情:

  1. guessNumber => 你配置什么是正确的猜测。
  2. maxGuess 将根据您的猜测数计算
  3. $(( ( RANDOM % 100 ) + 1 )) => 生成 1-100 之间的随机数。更改 % 后的数字以具有更大或更小的范围。
  4. 使用 while 循环代替 for 循环,这将使您的游戏继续进行,直到猜出正确的数字。 [Ctrl+c 中断]
  5. 键入 guessNumber 以退出循环/游戏。

希望它能告诉您它是如何工作的,祝您学习 bash 脚本愉快!!

关于Linux Bash Number Range echo 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43484742/

相关文章:

linux - 生成特定的非零返回码?

bash - 我的 bash 脚本是否容易受到命令注入(inject)的攻击?

Laravel Pusher 异常 : "Illuminate\Broadcasting\BroadcastException"

bash - echo -e 在 ubuntu 上由 root 在脚本中运行时表现不同

php - echo 仅对一个 id 起作用两次,但对另一个 id 不起作用

python - 为什么 subprocess.call () 在 Linux 中显示错误?

linux - 运行 Alpine Linux 的 Docker 容器中 rrdgraph 中的自定义字体

linux - 在 Linux 中不关机重新枚举和使用 PCIe SSD

linux - 如何将文件中的列粘贴到另一个临时文件?

bash - .deb package postinst 调用包中的另一个脚本