2016-08-23 40 views
1

我正在MiddleBury评估中测试立体算法。我在Windows中使用cygwin来运行程序。(./runalg:第25行:意外标记'set'附近的语法错误)在Middle Bury评估中

编译工具后,我运行了代码。据导游介绍,我需要写如下”

./runalg

但它说:

$ ./runalg -bash:./runalg:/斌/ CSH:坏的解释:没有这样的文件或目录

所以,我已经变了样

bash ./runalg。

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

$庆典./runalg

./runalg:第25行:附近意外的标记语法错误'设置”

./runalg:第25行:`如果($#ARGV> 3)设置后缀= $ 4 ** **

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

回答

1

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

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

前在csh:

set suffix = $4 

将转化

suffix=$4 

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

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

根据this forum,C Shell在默认情况下并未安装在Cygwin中。启动安装程序并选择软件包的“Shells”集合并选择csh进行安装。

+0

谢谢。在cygwin中安装csh后解决了这个问题 – Only

+0

非常感谢,至少为我节省了几个小时。 –

+0

不客气。我很高兴这对一些人有用!这是基本的知识,但只限于知道问题是什么的人:) –

相关问题