缺少'for`循环中的运算符

时间:2016-07-12 19:36:28

标签: bash for-loop syntax-error

我已经开始在bash中编写一个brainfuck编译器 '编译器'翻译assambly中的代码,使用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):
    ...

提前致谢

2 个答案:

答案 0 :(得分:1)

使用C风格的for ((i=0; i < ${#src}; i++)); do 循环:

{{1}}

答案 1 :(得分:0)

您无法在{m..n}构造中使用变量;改为使用seq

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