高山图像中的奇数算术语法错误 - bash

Odd numbers arithmetic syntax error in alphine image - bash

我想在 alpine:3.13 图像中打印奇数。我收到错误,第 4 行:算术语法错误。但是,这在 linux 中工作正常。我怎样才能解决这个问题?谢谢!

for i in {1..10}
do
    if [ $(( $i % 2 )) != 0 ]
    then
      echo "$i"
    fi
done

当我将第一行更改为 for i in 1 2 3 4 时。效果很好,但我需要给出一个范围。任何帮助将不胜感激

范围的大括号表示法是 bash 扩展,显然在 Alpine 上不可用。

改用$(seq 1 10)

for i in $(seq 1 10)

您可以尝试使用更便携的语法。

i=0
while [ "$i" -lt 10 ]; do
  if [ $(( $i % 2 )) != 0 ]
    then
      echo "$i"
    fi
  i=$((i + 1))
done