Bourneシェルのカスタムステップサイズを持つ範囲配列

Bourneシェルのカスタムステップサイズを持つ範囲配列

次のようにシェルに整数範囲の配列を作成したいとします。

  • 次から始まった$START_VALUE
  • 次に終わる$END_VALUE
  • 要素$STEP_SIZEはで始まり区切ります$START_VALUE

Pythonに精通している人なら誰でも効果的に探しています。rangeBourneシェルの対応項目、特にZshです。

ここに役立つシェル組み込み機能はありますか?


注:Pythonのrange関数は範囲配列の増加と減少をサポートします(たとえば、$START_VALUEより大きいまたは小さい場合$END_VALUE)。

ベストアンサー1

Bashと同様に、zshから、これは動作します:

printf '%s ' {2..23..3}; echo

これはまた働くので:

set   -- {2..23..3}
for   i
do    echo "$i"
done

このように:

set   -- {2..23..3}
for i; do
      echo "$i"
done

このように:

for i in {0..20..2}
do
    echo "$i"
done

zshでは機能しますが、bashでは機能しないのは変数の範囲です。

a=2 b=23 c=3
set   -- {$a..$b..$c}
for   i
do    echo $i
done

おすすめ記事