为什么尝试在 for 循环中打开子 shell 时会出现语法错误?

为什么尝试在 for 循环中打开子 shell 时会出现语法错误?

如果我执行这个 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),但我想了解为什么它在第 6 行而不是第 3 行检测到错误。这里的逻辑是什么?

相关内容