如果问题如何解决嵌套问题

时间:2013-10-09 21:15:43

标签: unix ubuntu

我是UNIX新手...我正在尝试编写一个bash脚本,该脚本从用户获取两个整数,并使用if条件打印出这两个数字之间的偶数。如果出现“其他附近的意外令牌”错误消息,我会陷入嵌套状态。我不知道错误是什么。有什么帮助吗?

这是我到目前为止所做的:

echo plz enter first number
read n1
echo plz enter second  number
read n2
start=$n1
end=$n2
if [ start < end ] then 
    for (c=start;c<=end;c++)
    do

        if [ $((c % 2 )) -eq 0 ]; then
            echo $c
        fi
    done
else
    echo "not bigger"
fi

3 个答案:

答案 0 :(得分:1)

我想我会推荐一种不同的方法:

((start % 2)) && ((start = 1 + start))
while ((start < end))
do
  echo ${start}
  (( start += 2))
done

答案 1 :(得分:1)

我试过这样: -

echo "Enter first number"
read first
echo "Enter second number"
read second
start=$first

endLine=$second
while [ $start -le $endLine ]
do
 if [ $((start % 2 )) -eq 0 ]
 then
 echo $start "is an even number"
#else
# echo $start "is an odd number"
fi
start=`expr $start + 1`
done

答案 2 :(得分:0)

您需要在第一个“then”之前插入分号或换行符:

if [ start < end ] ; then
                   ^