sh shell for loop without seq

Ato*_*lan 2 bash for-loop sh

我正在编写一个必须在bash和sh中运行的脚本,它在一个微小的平台上运行,并且有些东西似乎缺失了,例如seq.所有这些限制/要求使得编写此脚本非常困难.我需要编写一个在所有这些要求下工作的for循环.

这仅适用于bash:

for (( i = 0; i <= 4; i++ ))
do
  echo $i
done
Run Code Online (Sandbox Code Playgroud)

这应该在sh中工作,但我正在使用的平台显然缺少seq.

for i in $(seq 1 $INPUT); do
Run Code Online (Sandbox Code Playgroud)

$ INPUT是用户定义的最大值.

Sam*_*tch 12

这些天的孩子们都被他们新奇的贝壳内饰所破坏.

i=1
while [ $i -le $INPUT ]; do
  echo $i
  i=$(expr $i + 1)
done
Run Code Online (Sandbox Code Playgroud)

  • 额外+1为"胡思乱想" (7认同)
  • 该外壳很有可能至少符合POSIX,因此您可以使用`i = $(((i + 1)))代替`expr`。 (2认同)