POSIX for 循环的 sh 语法 [SC2039]

POSIX sh syntax for for-loops [SC2039]

以下命令在我的 shell 上运行良好:

for ((j=0; j<=24; j++))
do > $j.json
done

但收到以下通知:

SC2039 In POSIX sh, arithmetic for loops are undefined.

我想知道 POSIX 中的等效项是什么,以免在其他系统上出现相互干扰的问题。

我想符合标准的方式应该是这样的:

j=0
while [ $j -le 24 ]; do
    true > "$j.json"
    j=$(( j + 1 ))
done

另一种应该在 POSIX shell 中工作的方法:

for j in `seq 0 24`; do
    ...
done