bash while-for循环未正确执行

时间:2018-05-08 05:37:24

标签: bash loops

这是我的第一个bash脚本,我希望得到一些反馈。

#!/bin/bash
set yname="Would you like a cup of tea?"
while ($yname != "n")
   echo -n "Are you sure?"
   set yname = $<5
   else ($yname != "y") then
          echo "Great, I'll make tea now"
   endif

我正在尝试创建一个脚本,您可以询问是否有人想要一杯茶。 如果该人回复'n',则循环重复。 如果该人回复'y',则循环以y输出结束 除非输入y作为输出,否则循环重复5次。

有人可以帮我纠正上述脚本或其中的任何反馈吗?

努力在网上寻找任何支持。

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式编写脚本,但这是一种方法:

#!/bin/bash
_ANSWER=""
_COUNT=0
while [ "${_ANSWER}" != "y" -a ${_COUNT} -lt 5 ] ; do
    _COUNT=$(( ${_COUNT} + 1 ))
    read -p "Would you like a cup of tea? " _ANSWER
    if [ "${_ANSWER}" == "y" ] ; then
        echo "Great, I'll make tea now"
    else
        echo "Are you sure?"
    fi
done

希望这会向您介绍一些常见的shell脚本方法。