Oprava: Chyba syntaxe poblíž neočekávaného tokenu `('



Vyzkoušejte Náš Nástroj Pro Odstranění Problémů

Chybová zpráva syntaktická chyba poblíž neočekávaného tokenu `(' se vyskytuje v prostředí Unixového typu, Cygwin, a v rozhraní příkazového řádku ve Windows. Tato chyba se pravděpodobně spustí, když se pokusíte spustit skript prostředí, který byl upraven nebo vytvořen ve starších systémech DOS / Windows nebo Mac.



Chyba syntaxe poblíž neočekávaného tokenu `(

Chyba syntaxe poblíž neočekávaného tokenu `('



Tato chybová zpráva se projeví také při zadávání příkazů do příkazového řádku systému Linux pro každodenní úkoly, jako je ruční kopírování souborů atd. Hlavní důvod, proč se tato chybová zpráva objevuje, je buď kvůli špatné syntaxi, nebo problému operačního systému při interpretaci příkazů jiného systému / skořápka.



Co způsobuje chybu syntaxe poblíž neočekávaného tokenu `('?

Důvody této chybové zprávy jsou velmi různorodé a nelze je uvést v jednom článku, protože při provádění příkazů existují tisíce možností nesprávné syntaxe. Hlavní důvody této chyby jsou:

  • Špatná syntaxe při provádění libovolného příkazu na kterékoli platformě. Buď příkaz nepoužíváte správně, nebo jste zadali nesprávnou syntaxi.
  • Plášť není kompatibilní mezi systémy Unix / DOS.
  • Při spouštění skriptu bash shell existují problémy jiný zdroj .

V tomto článku předpokládáme, že znáte základy kódování a máte představu o tom, co děláte. Pokud jste začátečník, je nejlepší, abyste se řídili podrobnými návody jazyka / příkazu, které se pokoušíte provést. Pravděpodobně jste udělali chybu v nějaké syntaxi.

Řešení 1: Kontrola syntaxe a formátu příkazů

Prvním a nejdůležitějším důvodem, proč se může zobrazit tato chybová zpráva, je špatná syntaxe v kódu nebo nedodržování přesného formátu příkazů. Každý příkaz má předdefinovaný formát, který můžete vidět v jeho dokumentaci. Některé parametry jsou volitelné, jiné povinné.



Dále je třeba věnovat zvláštní pozornost extra prostor , Použití uvozovky a povinné požadované parametry. Pokud některý z nich chybí nebo byl deklarován nesprávně, nebudete moci svůj kód spustit.

Například místo následujícího kódu

[mycom7] # ./ctopo.sh um_test1 [(1,2), (2,1)]

Musíte to provést jako

[mycom7] # ./ctopo.sh um_test1 '[(1,2), (2,1)]'

Také se ujistěte, že správně provádíte skripty příkazů / prostředí, pokud překlenuje několik řádků.

Z důvodu typu parametru jsou nutné uvozovky. Další prostor může také zničit váš kód a vynutit chybovou zprávu. Ujistěte se, že jste zkontrolovali oficiální dokumentace příkazu, který provádíte, a zjistěte, zda tam není problém.

Řešení 2: Řešení potíží s shell skriptem

Pokud používáte skript prostředí, který pracuje ve zdrojovém systému, ale vrací chybu v cíli, můžete tento skript vyřešit pomocí kontroly proměnných, které jsou uloženy během provádění, a poté zjistit, co je příčinou problému. Toto je velmi častá příčina, protože v několika případech se shell pokouší interpretovat netisknutelný znak.

Zkuste spustit shell s parametrem „vx“. To nám ukáže, jaké příkazy jsou spuštěny a jaké hodnoty jsou uloženy ve skriptu. Prostřednictvím tohoto místa můžete řešit problémy a diagnostikovat, co se děje špatně.

Například spustíte skript v terminálu po přidání „vx“ jako:

# sh -vx ./test_script5.sh

Obsah skriptu můžete zkontrolovat pomocí příkazu ‘kočka’ jako:

# cat test_script5.sh

Řešení 3: Použití příkazu „dos2unix.exe“

V textových souborech Windows / DOS je nový řádek kombinací Carriage Return ( r), za kterým následuje Line Feed ( n). V systému Mac (před Mac OS X) používal konec řádku jednoduchý návrat vozíku (Carriage Return). Unix / Linux a Mac OS X používají zalomení řádků Line Feed ( n). Pokud používáte Cygwin, nepodaří se mu zpracovat skripty vytvořené systémem DOS / Windows a staršími počítači Mac z důvodu zvláštního znaku Carriage Return ( r).

Použitím

Pomocí příkazu „dos2unix.exe“

Zde můžete vytvořit příkaz „dos2unix.exe“, který převede skript do správného formátu a poté jej bez problémů spustíte.

Na závěr je třeba prozkoumat vaše příkazy a typ platformy, kterou používáte, a ujistit se, že zde nejsou žádné nesrovnalosti. Protože nemůžeme pokrýt všechny možnosti, měli byste představu, jaké druhy chyb se mohou vyskytnout a jak je opravit.

3 minuty čtení