【问题标题】:(./runalg: line 25: syntax error near unexpected token 'set' )in Middle bury evaluation(./runalg:第 25 行:意外标记“设置”附近的语法错误)在中间埋葬评估中
【发布时间】:2016-08-23 06:58:36
【问题描述】:

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

编译工具后,我已经运行了代码。根据指南,我需要写如下"

./runalg

但它说:

$ ./runalg -bash: ./runalg: /bin/csh: 错误的解释器:没有这样的文件或目录

所以,我变了

bash ./runalg.

在这种情况下,错误如下。

$ bash ./runalg

./runalg:第 25 行:意外标记 `set' 附近的语法错误

./runalg: 第 25 行:`if ($#argv > 3) 设置后缀 = $4'**

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

【问题讨论】:

    标签: cygwin stereo-3d


    【解决方案1】:

    csh 和 bash/ksh 类型的 shell 具有完全不同的语法。除了非常简单的命令外,仅仅通过更改解释器是无法获得兼容性的。

    如果你有 bash 脚本和 ksh 解释器,在大多数情况下,一些修改可以使脚本工作,但这里没有办法!

    在 csh 中的前:

    set suffix = $4
    

    会翻译成

    suffix=$4
    

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

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

    根据this forum,Cygwin 中默认不安装 C Shell。启动安装程序并选择“Shells”包集合并选择 csh 进行安装。

    【讨论】:

    • 谢谢。在cygwin中安装csh后解决了
    • 非常感谢,您至少为我节省了几个小时。
    • 不客气。我很高兴这对某些人有用!这是基本知识,但仅适用于知道问题所在的人:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2012-10-20
    • 2012-09-29
    • 2013-12-11
    相关资源
    最近更新 更多