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행에서 오류가 감지되는지 알고 싶습니다. 여기서 논리는 무엇입니까?

관련 정보