我在shell中进行for
循环,如下所示:
for i in {1..10}
do
if [ $ [ i % 2 ] = 1 ] then
echo $i "is odd"
fi
done
我这样做了吗?unexpected token 'fi'
附近有语法错误。
答案 0 :(得分:2)
你可以像这样使用它:
for i in {1..10}; do
if [ `expr $i % 2` -eq 1 ]; then
echo "$i is odd"
fi
done
编辑:使用BASH可以:
for i in {1..10}; do
((i%2)) && echo "$i is odd"
done
1 is odd
3 is odd
5 is odd
7 is odd
9 is odd
要执行算术,您需要在Unix shell中使用expr
命令。如果您正在使用bash,那么您可以使用(( and ))
算术评估程序。
答案 1 :(得分:2)
不,你不是。
if ((i%2==1))
then
...
fi