我正在使用while命令编写一个shell程序,以防止被零除并在用户键入99时退出该程序。每次我运行它时,第二个数字的输入都出现错误,这反过来并没有给我答案。下面是我对这个问题的尝试:
#!/bin/bash
firstNum=0
secondNum=0
answer=0
while true firstNum != 99, secondNum != 99 do
read -p "Enter first number" firstNum
read -p "Enter second number" secondNum
echo "first num $firstNum"
echo "second Num $secondNum"
if ["$secondNum" = "0"]
then
exit 1
else
echo "first number / second Number = $((firstNum/secondNum))"
echo "Answer = $answer"
fi
do
exit
done
以下是我收到的错误消息
./example.sh: 10: ./example.sh: [2: not found
任何帮助都将不胜感激。
谢谢
最佳答案
看起来有些错别字。
替换为:
if ["$secondNum" = "0"] then
exit 1
then
echo "1st number / 2nd number = $((firstNum/secondNum))"
echo "Answer = $answer"
fi
有了这个:
if [ "$secondNum" = "0" ]
then
exit 1
else
echo "1st number / 2nd number = $((firstNum/secondNum))"
echo "Answer = $answer"
fi
重击很挑剔。确保
then
在下一行而不是与if
相同的行,您在第三行中也使用了then
而不是else
。