Korjaus: Syntaksivirhe odottamattoman tunnuksen lähellä ((’

Fix Syntax Error Near Unexpected Token

Virhesanoma syntaksivirhe odottamattoman tunnuksen lähellä ((’ tapahtuu Unix-tyyppisessä ympäristössä, Cygwin, ja Windowsin komentoriviliittymässä. Tämä virhe laukaistaan ​​todennäköisesti, kun yrität suorittaa komentosarjan komentosarjan, jota muokattiin tai luotiin vanhemmissa DOS / Windows- tai Mac-järjestelmissä.

Syntaksivirhe odottamattoman tunnuksen lähellä ((

Syntaksivirhe odottamattoman tunnuksen lähellä ((’



Tämä virhesanoma ilmestyy myös, kun kirjoitat komentoja Linux-komentoriville jokapäiväisiin tehtäviin, kuten tiedostojen kopioimiseen manuaalisesti jne. Tärkeimmät syyt tähän virheilmoitukseen johtuvat joko huonosta syntaksista tai käyttöjärjestelmän ongelmasta toisen järjestelmän komentojen tulkinnassa / kuori.



Mikä aiheuttaa syntaksivirheen lähellä odottamatonta tunnusta `(’?

Syyt tähän virheilmoitukseen ovat hyvin erilaisia, eikä niitä voida luetella yhdessä artikkelissa, koska tuhannet syntaksimahdollisuudet menevät pieleen komentoja suoritettaessa. Tämän virheen syyt ovat:



  • Virheellinen syntakse kun suoritat mitä tahansa komentoa jommallakummalla alustalla. Joko et käytä komentoa oikein tai olet kirjoittanut väärän syntaksin.
  • Kuori ei ole yhteensopiva Unix / DOS-järjestelmien välillä.
  • Bash-komentosarjan komentosarjan suorittamisessa on ongelmia toinen lähde .

Oletamme tässä artikkelissa, että tunnet koodauksen perusteet ja sinulla on käsitys siitä, mitä olet tekemässä. Jos olet aloittelija, on parasta, että noudatat perusteellisia ohjeita kielestä / komennosta, jota yrität suorittaa. Olet todennäköisesti tehnyt virheen jossakin syntaksissa.

Ratkaisu 1: Kommenttien syntaksin ja muodon tarkistaminen

Ensimmäinen ja tärkein syy, miksi saatat kokea tämän virheilmoituksen, on virheellinen syntaksisi koodissasi tai et noudata komentojen tarkkaa muotoa. Jokaisella komennolla on ennalta määritetty muoto, jonka näet sen dokumentaatiossa. Useat parametrit ovat valinnaisia ​​ja muut pakollisia.

Lisäksi tulisi olla erityisen varovainen lisätilaa , käyttö kaksinkertaiset lainaukset , ja pakollinen vaaditut parametrit. Jos jokin niistä puuttuu tai on ilmoitettu virheellisesti, et voi suorittaa koodiasi.



Esimerkiksi seuraavan koodin sijaan

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

Sinun on suoritettava se nimellä

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

Varmista myös, että suoritat komennot / shell-komentosarjan oikein, jos se ulottuu usealle riville.

Parametrityypin vuoksi kaksoislainausmerkit ovat välttämättömiä. Ylimääräinen tila voi myös pilata koodisi ja pakottaa virheilmoituksen. Varmista, että tarkistat viralliset asiakirjat suorittamasi komennon ja katso onko siinä ongelma.

Ratkaisu 2: Shell-komentosarjan vianmääritys

Jos käytät lähdekoodijärjestelmää, joka toimii lähdekoodijärjestelmässä, mutta palauttaa virheen kohteessa, voit suorittaa komentosarjan vianmäärityksen tarkistamalla suorituksen aikana tallennetut muuttujat ja sitten selvittämällä, mikä aiheuttaa ongelman. Tämä on hyvin yleinen syy, koska useissa tapauksissa kuori yrittää tulkita tulostamattoman merkin.

Yritä suorittaa komentotulkki parametrilla ”vx”. Tämä näyttää meille, mitä komentoja suoritetaan ja mitkä arvot on tallennettu komentosarjaan. Täältä löydät vianmäärityksen ja diagnosoida, mikä menee pieleen.

Suorita komentosarja esimerkiksi terminaalissa sisällyttäessäsi 'vx' seuraavasti:

# sh -vx ./test_script5.sh

Voit tarkistaa komentosarjan sisällön 'cat' -komennolla seuraavasti:

# kissa test_script5.sh

Ratkaisu 3: 'dos2unix.exe' -komennon käyttäminen

Windows / DOS-tekstitiedostoissa uusi rivi on yhdistelmä rivinvaihtoa ( r) ja rivinvaihtoa ( n). Macissa (ennen Mac OS X: ää) rivinvaihdossa käytettiin yksinkertaista rivinvaihtoa ( r). Unix / Linux ja Mac OS X käyttävät rivinvaihtoa ( n). Jos käytät Cygwinia, se ei pysty käsittelemään DOS: n / Windowsin ja vanhemman Macin tekemiä komentosarjoja ylimääräisen Carriage Return ( r) -merkin takia.

Käyttämällä

Käytä 'dos2unix.exe' -komentoa

Täällä voit tehdä 'dos2unix.exe' -komennon, joka muuntaa komentosarjan oikeaan muotoon ja voit sitten suorittaa sen ilman ongelmia.

Lopuksi sinun on tutkittava komentosi ja käyttämäsi alustan tyyppi ja varmistettava, ettei siinä ole eroja. Koska emme voi kattaa kaikkia mahdollisuuksia, sinulla on käsitys, minkälaisia ​​virheitä voi esiintyä ja kuinka ne voidaan korjata.

3 minuuttia luettu