Формат отчета об ошибках синтаксиса bash (основной) - PullRequest
0 голосов
/ 02 февраля 2012

Новое в сценариях оболочки Я заметил, что сообщение об ошибке синтаксиса для неожиданного токена имеет формат

`unexpectedtoken' # ie backtick unexpected_token singlequote

Что означают обратная кавычка и одинарная кавычка? Их нет в самом сценарии. Они как-то связаны с оболочкой, но что?

Более конкретно, в настоящее время я получаю два отчета об ошибках из одной строки, которые должны помочь моим попыткам отладки, но я не знаю, как их интерпретировать. В скрипте есть параметр, передаваемый в функцию.

append2file \
"(common params for all samples; exemplar: ${monoArr2[@]:(-1)})" 

Первым знаком в строке параметров (строка 154) является неожиданный токен. Это также вызывает второй отчет об ошибке.

./process_v7.sh: line 154: syntax error near unexpected token `('
./process_v7.sh: line 154: `        "(common params for all read_2 samples; exemplar: ${monoArr2[@]:(-1)})" \'

Интервал между начальным обратным тылом и началом строки в двойных кавычках, должно быть, говорит мне кое-что, что поможет моей отладке, но что ??? TIA

M

1 Ответ

1 голос
/ 02 февраля 2012

Синтаксис для определения функции:

append2file() {
   # some code that references parameters via $1, $*, $@, etc
}

Звучит так, будто вы кладете что-то внутрь (). Не делай этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...