(./runalg: line 25: syntax error near unexpected token 'set' )in Middle bury evaluation

(./runalg: line 25: syntax error near unexpected token 'set' )in Middle bury evaluation

我正在 MiddleBury 评估中测试立体算法。我在 Windows 中使用 cygwin 到 运行 程序。

编译工具后,我有运行代码。根据指南,我需要这样写

./runalg

但是它说:

$ ./runalg -bash: ./runalg: /bin/csh: bad interpreter: No such file or directory

所以,我变了

bash ./runalg.

本例错误如下。

$ bash ./runalg

./runalg: line 25: syntax error near unexpected token `set'

./runalg: line 25: `if ($#argv > 3) set suffix = '**

有没有人可以告诉我如何使用这个评估以及为什么会出现这个问题?

csh 和 bash/ksh-type shell 的语法完全不同。除了非常简单的命令,您将无法仅通过更改解释器来获得兼容性。

如果您有 bash 脚本和 ksh 解释器,在大多数情况下稍加修改就可以使脚本正常工作,但这里不行!

在 csh 中的例子:

set suffix = 

将转换为

suffix=

(或者 export suffix= 我不知道 csh 中的确切变量传播,但这不是重点)

最好的方法是在 Cygwin 中实际安装 csh

根据 this forum,C Shell 在 Cygwin 中默认没有安装。启动安装程序和 select "Shells" 软件包集合和 select csh 以进行安装。