forループでサブシェルを開こうとすると構文エラーが発生するのはなぜですか?

forループでサブシェルを開こうとすると構文エラーが発生するのはなぜですか?

このbashスクリプトを実行すると:

#!/bin/bash
j=0
for(( i=1;i<(j);i++ ))
do
  echo j
done

私は得る:

./test: line 6: syntax error near unexpected token `newline'
./test: line 6: `done'

追加の括弧に問題があることを知っていますが、(j)なぜ3行ではなく6行でエラーが検出されるのかを知りたいです。ここでロジックは何ですか?

ベストアンサー1

おすすめ記事