Порука о грешци синтаксна грешка у близини неочекиваног токена `(‘ се јавља у окружењу Уник типа Цигвин и у интерфејсу командне линије у оперативном систему Виндовс. Ова грешка ће се највероватније покренути када покушате да покренете скрипту љуске која је уређивана или креирана у старијим системима ДОС / Виндовс или Мац.
Синтаксна грешка у близини неочекиваног токена `(‘
Ова порука о грешци такође се појављује када уносите наредбе у Линук наредбену линију за свакодневне задатке као што је ручно копирање датотека итд. Главни разлози због којих се ова порука о грешци јавља јесу или лоша синтакса или проблем ОС-а у тумачењу наредби другог система шкољка.
Шта узрокује синтаксну грешку у близини неочекиваног токена `(‘?
Разлози за ову поруку о грешци су врло разноврсни и не могу се навести у једном чланку, јер постоји хиљаде могућности погрешке синтаксе приликом извршавања наредби. Основни разлози за ову грешку су:
- Лоша синтакса приликом извршавања било које наредбе на било којој платформи. Или не користите наредбу правилно или сте унели погрешну синтаксу.
- Шкољка није компатибилан између Уник / ДОС система.
- Постоје проблеми са покретањем скрипте басх љуске из други извор .
У овом чланку претпостављамо да знате основе кодирања и да имате идеју шта радите. Ако сте почетник, најбоље је да следите детаљне упуте за језик / наредбу коју покушавате да извршите. Вероватно сте погрешили у некој синтакси.
Решење 1: Провера синтаксе и формата наредби
Први и најважнији разлог зашто бисте могли да наиђете на ову поруку о грешци је погрешна синтакса вашег кода или непоштовање тачног формата наредби. Свака наредба има унапред дефинисани формат који можете видети у њеној документацији. Неколико параметара није обавезно, а остали су обавезни.
Даље, треба водити рачуна о додатној пажњи додатни простор , употреба двоструки наводници , и обавезно потребни параметри. Ако било који од њих недостаје или је нетачно проглашен, нећете моћи извршити свој код.
На пример, уместо следећег кода
[мицом7] # ./цтопо.сх ум_тест1 [(1,2), (2,1)]
Морате га извршити као
[мицом7] # ./цтопо.сх ум_тест1 '[(1,2), (2,1)]'
Такође, уверите се да правилно извршавате своје наредбе / скрипту љуске ако се простире на неколико редова.
Због типа параметра неопходни су двоструки наводници. Додатни простор такође може покварити ваш код и форсирати поруку о грешци. Обавезно проверите званична документација наредбе коју извршавате и погледајте да ли је ту проблем.
Решење 2: Решавање проблема са скриптом љуске
Ако користите скрипту љуске која ради у изворном систему, али враћа грешку у циљу, можете да решите проблем са скриптом тако што ћете проверити променљиве које су ускладиштене током извршавања, а затим видети шта узрокује проблем. Ово је врло чест узрок, јер у неколико случајева љуска покушава да протумачи знак који се не може исписати.
Покушајте да покренете љуску са параметром „вк“. Ово ће нам показати које се наредбе извршавају и које се вредности чувају у скрипти. Овде можете да решите проблеме и дијагностикујете шта иде по злу.
На пример, извршите скрипту у терминалу након укључивања „вк“ као:
# сх -вк ./тест_сцрипт5.сх
Садржај скрипте можете проверити помоћу команде „мачка“ као:
# мачка тест_сцрипт5.сх
Решење 3: Коришћење команде „дос2уник.еке“
У Виндовс / ДОС текстуалним датотекама, нови ред је комбинација враћања носача ( р), а затим увлачења линија ( н). У Мац-у (пре Мац ОС Кс), прекид линије користио је једноставан повратак карата ( р). Уник / Линук и Мац ОС Кс користе преломе линија ( н). Ако користите Цигвин, неће успети да обради скрипте које су направили ДОС / Виндовс и старији Мац због додатног знака Повратак кочије ( р).
Коришћењем команде „дос2уник.еке“
Овде можете направити команду „дос2уник.еке“ која ће претворити скрипту у исправан формат, а затим је можете извршити без икаквих проблема.
Да бисте закључили, потребно је да истражите своје команде и врсту платформе коју користите и да се уверите да нема одступања. Будући да не можемо да покријемо сваку могућност, имали бисте идеју какве се грешке могу појавити и како их исправити.
3 минута читања