0

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

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

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
4

3 回答 3

1

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

((start % 2)) && ((start = 1 + start))
while ((start < end))
do
  echo ${start}
  (( start += 2))
done
于 2013-10-09T21:39:41.437 回答
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
于 2013-10-10T07:25:52.937 回答
0

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

if [ start < end ] ; then
                   ^
于 2013-10-09T21:44:24.880 回答