Linux Bash编号范围回显语法错误
我在编程和使用Linux命令来帮助我理解命令和脚本方面是个新手,但是我发现我正在创建的脚本给了我一个echo语法错误,我正在琢磨为什么它给了我这个错误。假设整个脚本要求输入一个范围内的数字,读取键盘输入,并循环直到输入正确的数字。还告诉用户他们对每个猜测的正确性或错误性 我不知道脚本是否能正确运行,脚本中还有什么错误,所以请给我反馈并告诉我如何解决问题。提前谢谢Linux Bash编号范围回显语法错误,linux,bash,echo,Linux,Bash,Echo,我在编程和使用Linux命令来帮助我理解命令和脚本方面是个新手,但是我发现我正在创建的脚本给了我一个echo语法错误,我正在琢磨为什么它给了我这个错误。假设整个脚本要求输入一个范围内的数字,读取键盘输入,并循环直到输入正确的数字。还告诉用户他们对每个猜测的正确性或错误性 我不知道脚本是否能正确运行,脚本中还有什么错误,所以请给我反馈并告诉我如何解决问题。提前谢谢 #!/bin/bash loop=y for i in $(seq 10) echo Please pick a number bet
#!/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
#/bin/bash
循环=y
以美元表示的i(序号10)
请选择一个介于1和10之间的数字。
读取变量号
您输入的回声:$varnumber
如果
varnumber=3
然后
回显正确号码,允许访问…无
打破
如果
第4号
然后回显不正确的号码,请重试。
循环=y
由于存在多个语法错误,朋友们要求使用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
需要知道的事情:
guessNumber
=>您可以配置正确的猜测maxGuess
将根据您的猜测数进行计算$((随机%100)+1))
=>生成一个介于1-100之间的随机数。将%后的数字更改为范围更大或更小while
循环,而不是for
循环,这将使游戏继续进行,直到猜到正确的数字。[Ctrl+c组合键断开]guessNumber
退出循环/游戏希望它能给出一个如何工作的想法,愉快地学习bash脚本 你应该先把它输入,然后修复它告诉你的一切。已经声明,shellcheck.net是您在这方面的朋友。接下来,查阅一些bash教程,了解如何执行循环和if语句。