`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
我已经开始在 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