2016-08-23 4 views
1

Я тестирую стерео алгоритм в оценке MiddleBury. Я использую cygwin в Windows для запуска программы.(./runalg: строка 25: ошибка синтаксиса около неожиданного токена 'set') в оценке среднего уровня погребения

После компиляции инструментов я запустил код. По словам гида, мне нужно написать следующим образом:»

./runalg

Но он говорит:

$ ./runalg -bash: ./runalg:/бен/CSH: плохой переводчик: Нет такого файла или каталога

Итак, я изменился, как

bash ./runalg.

В этом случае ошибка была следующей.

$ Баш ./runalg

./runalg: строка 25: ошибка синтаксиса около неожиданной лексемы `установить»

./runalg: строка 25: `если ($ # ARGV> 3) set suffix = $ 4 '**

Есть ли кто-нибудь, кто может посоветовать мне, как использовать эту оценку и почему эта проблема возникла?

ответ

1

Оболочки csh и bash/ksh имеют совершенно другой синтаксис. За исключением очень простых команд, вы не сможете получить совместимость, просто изменив интерпретатор.

Если у вас есть скрипт bash и интерпретатор ksh, несколько адаптаций могут заставить скрипт работать в большинстве случаев, но здесь никак!

бывший в CSH:

set suffix = $4 

бы перевести

suffix=$4 

(или, может быть, export suffix=$4 я не знаю точных переменных propagations в CSH, но это не точка)

Лучший способ - установить csh в Cygwin.

Согласно this forum, оболочка C по умолчанию не установлена ​​в Cygwin. Запустите программу установки и выберите коллекцию пакетов «Корпуса» и выберите csh для установки.

+0

спасибо. Это было решено после установки csh в cygwin – Only

+0

Большое спасибо, вы спасли меня по крайней мере несколько часов. –

+0

Добро пожаловать. Я рад, что это полезно для некоторых! Это базовые знания, но только для людей, которые знают, в чем проблема: –

 Смежные вопросы

  • Нет связанных вопросов^_^