shell for循环的POSIX sh语法[SC2039]

wh6knrhe  于 2022-12-19  发布在  Shell
关注(0)|答案(2)|浏览(125)

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

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

但具有以下通知:
SC2039在POSIX sh中,循环的算术没有定义。
我想知道在POSIX中的等价物是什么,以便在其他系统上不会有interpeting问题。

ohtdti5x

ohtdti5x1#

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

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

wmtdaxz32#

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

for j in $(seq 0 24); do
    ...
done

相关问题