`for` 循环中缺少运算符

Missing Operator in a `for` loop

我已经开始在 bash 中编写一个 brainfuck 编译器了。
'compiler' 将汇编代码翻译为使用 gcc.
编译它 问题是,当我尝试 运行 它时,它打印出这个错误:

$ ./compiler test.bf
./compiler: Zeile 111: src: {0..45}: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist \"{0..45}\").

(英文:

$ ./compiler test.bf
./compiler: Line 111: src: {0..45}: Syntax Error: Operator excepted. (Causal Error Char is \"{0..45}\").

)

据我了解,它说第 111 行有错误:

...
for i in {0..${#src}}        # line 109
do                           # line 110
    case ${src:$i:1} in      # line 111
...

(这里是完整的code

但是我什么也没看到。

如果错误是 for 循环的原因,你能告诉我如何像 python:

那样制作 for 循环吗
for i in range(15):
    ...

提前致谢

您不能在 {m..n} 结构中使用变量;使用 seq 代替:

for i in $(seq 0 ${#src})# line 109
do                       # line 110
    case ${src:$i:1} in  # line 111

使用 C 风格的 for 循环:

for ((i=0; i < ${#src}; i++)); do