我正在尝试写一个bash脚本,询问一个人是否想要一杯茶,Y回复“很好,我现在要泡茶”到控制台“;并且N返回”你确定“4在停止循环之前,如果在4个跟进报价期间,用户改变主意并按下“Y”,计算机将打印出“好,我现在可以泡茶”到控制台。
我的脚本导致无限循环,所以我需要在代码中有一些增量计数,我只是想弄清楚在哪里? 可能是一个非常基本的问题,如果是这样的道歉,Linux Bash脚本的新手,任何帮助表示赞赏:
#!bin/bash
#tea2.sh
echo "Will you have a cup of tea?"
read answer
while [ "$answer" = n ]
do
echo "Are you sure"
if [ "$answer" = y ]
then
break
fi
echo "Great, I\’ll make tea now"
done
第二个脚本:
#!/bin/bash
#tea3.sh
set yname="Would you like a cup of tea?"
while ($yname != "n")
echo -n "Are you sure?"
set yname = $<5
if ($yname != "y") then
echo "Great, I\'ll make tea now"
fi
done
答案 0 :(得分:2)
你永远不会在循环内部询问,所以答案永远不会改变。因此无限循环。你要做的是read answer
里面循环(和Use More Quotes™)。
顺便说一下,你所使用的印刷报价在Bash中没有特殊含义,所以它不需要转义。