Popravek: Napaka v sintaksi blizu nepričakovanega žetona `('



Preizkusite Naš Instrument Za Odpravo Težav

Sporočilo o napaki sintaksna napaka blizu nepričakovanega žetona '(' se pojavlja v okolju Unix tipa Cygwin in v vmesniku ukazne vrstice v sistemu Windows. Ta napaka se bo najverjetneje sprožila, ko poskusite zagnati lupinski skript, ki je bil urejen ali ustvarjen v starejših sistemih DOS / Windows ali Mac.



Napaka v sintaksi blizu nepričakovanega žetona `(

Napaka v sintaksi blizu nepričakovanega žetona '('



To sporočilo o napaki se pojavi tudi, ko v ukazno vrstico Linuxa vnašate ukaze za vsakodnevna opravila, kot je ročno kopiranje datotek itd. Glavni razlog, da se to sporočilo o napaki pojavi, je bodisi zaradi slabe sintakse ali težave OS pri interpretaciji ukazov drugega sistema / lupino.



Kaj povzroča napako v sintaksi blizu nepričakovanega žetona `(‘?

Razlogi za to sporočilo o napaki so zelo raznoliki in jih ni mogoče našteti v enem članku, saj obstaja napaka v sintaksi na tisoče pri izvrševanju ukazov. Temeljni razlogi za to napako so:

  • Napačna skladnja pri izvajanju katerega koli ukaza v kateri koli platformi. Ukaz ne uporabljate pravilno ali ste vnesli napačno sintakso.
  • Lupina ni združljiv med sistemi Unix / DOS.
  • Obstajajo težave pri zagonu skripta lupine bash iz drug vir .

V tem članku domnevamo, da poznate osnove kodiranja in imate idejo, kaj počnete. Če ste začetnik, je najbolje, da sledite poglobljenim vajam jezika / ukaza, ki ga želite izvesti. Verjetno ste naredili napako v neki sintaksi.

1. rešitev: Preverjanje skladnje in oblike ukazov

Prvi in ​​najpomembnejši razlog, zakaj se lahko prikaže to sporočilo o napaki, je napačna sintaksa v kodi ali neupoštevanje natančne oblike ukazov. Vsak ukaz ima vnaprej določeno obliko, ki jo lahko vidite v njegovi dokumentaciji. Več parametrov ni obveznih, drugi pa obvezni.



Poleg tega je treba biti še posebej previden dodaten prostor , Uporaba dvojni narekovaji , in obvezno zahtevane parametre. Če katera od njih manjka ali je bila prijavljena nepravilno, ne boste mogli izvršiti svoje kode.

Na primer, namesto naslednje kode

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

Izvesti ga morate kot

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

Prepričajte se tudi, da pravilno izvajate ukaze / skript lupine, če obsega več vrstic.

Zaradi vrste parametra so potrebne dvojne narekovaje. Dodaten presledek lahko uniči tudi vašo kodo in prisili sporočilo o napaki. Ne pozabite preveriti uradna dokumentacija ukaza, ki ga izvajate, in preverite, ali je tam težava.

2. rešitev: Odpravljanje težav s skriptom lupine

Če uporabljate skript lupine, ki deluje v izvornem sistemu, vendar vrne napako v cilju, lahko odpravite težavo s skriptom tako, da preverite spremenljivke, ki so shranjene med izvajanjem, in nato vidite, kaj povzroča težavo. To je zelo pogost vzrok, saj v več primerih lupina poskuša interpretirati znak, ki ga ni mogoče natisniti.

Poskusite zagnati lupino s parametrom 'vx'. To nam bo pokazalo, kateri ukazi se izvajajo in katere vrednosti so shranjene v skriptu. Tu lahko odpravite težave in diagnosticirate, kaj gre narobe.

Na primer, izvedite skript v terminalu, potem ko vključite 'vx' kot:

# sh -vx ./test_script5.sh

Vsebino skripta lahko preverite z ukazom 'mačka' kot:

# mačka test_script5.sh

3. rešitev: Uporaba ukaza „dos2unix.exe“

V besedilnih datotekah Windows / DOS je nova vrstica kombinacija vrnitve nosilca ( r), ki ji sledi vrstica ( n). V Macu (pred Mac OS X) se je pri prelomu vrstice uporabljal preprost povratek nosilca ( r). Unix / Linux in Mac OS X uporabljajo prelome vrstic ( n). Če uporabljate Cygwin, zaradi dodatnega znaka Carriage Return ( r) ne bo mogel obdelati skriptov, ki jih je ustvaril DOS / Windows in starejši Mac.

Uporaba

Uporaba ukaza ‘dos2unix.exe’

Tu lahko naredite ukaz „dos2unix.exe“, ki pretvori skript v pravilno obliko, nato pa ga lahko brez težav izvedete.

Za zaključek morate raziskati svoje ukaze in vrsto platforme, ki jo uporabljate, ter se prepričati, da ni razlik. Ker ne moremo zajeti vseh možnosti, bi imeli idejo, katere vrste napak se lahko pojavijo in kako jih odpraviti.

3 minute branja