我有一个bash脚本作业问题

时间:2019-11-12 20:56:17

标签: linux bash

我有一个作业问题。创建执行以下操作的脚本。

  1. 提示用户输入名称,并将其保存到名为myname的变量中。让脚本以欢迎方式回复用户(请确保在回复中包括他们的名字。

  2. 提示用户是否要玩游戏。使用while语句。

注意:输入值1或0为1 =是,0 =否。如果使用字符而不是数字值,则while循环需要使用不同的语法。编写此代码以测试您的while语句是否正确。

  1. 让用户玩的比游戏少。让他们输入1-99中的2个数字。让程序确定第一个数字是否大于第二个数字,或者反之。

使用if则else语句。

提示用户是否要再次播放。 (在提示中包括他们的名字) 注意:这是过程2中while语句的一部分。

如果用户不想再玩了,请感谢用户(按他们的名字)。

我该如何在再次播放提示中包括玩家名称,如果他们不想再次播放,我该如何通过用户名称感谢用户?

这是我到目前为止所拥有的:

#!/bin/bash
#Session11-Lab

read -p "Enter Your Name: "  myname
echo "Welcome $myname!"

game=1

while [ $game -eq 1 ]     
do
  echo $game
  read -p "Would you like to play a game?" game

  read -p "Enter a number between 1 and 99:" num1
  read -p "enter another number between 1 and 99:" num2

  if (($num1 > $num2)) ; then
        echo "the first number is larger"
  else
        echo "the second number is larger"
  fi
  read -p "play again (1 or 0)" game

  done

exit 0

1 个答案:

答案 0 :(得分:0)

  

我该如何在再次播放提示中加入玩家名称? ...

您可以像这样在bash字符串中插值变量:

read -p "$myname, play again? (1 or 0)" game
  

......如果他们不想再次玩游戏,我该如何感谢他们的名字?

在while循环结束之前添加此代码,以在用户输入0时中断并退出游戏:

[ $game == 0 ] && break

在while循环结束之后:

echo "Thanks for playing $myname!"