我正在使用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

09-28 02:19