Correzione: errore di sintassi vicino al token imprevisto `(& lsquo;

L'errore di sintassi del messaggio di errore vicino al token imprevisto `('si verifica in un ambiente di tipo Unix, Cygwin, e nell'interfaccia della riga di comando in Windows. Questo errore molto probabilmente verrà attivato quando si tenta di eseguire uno script di shell che è stato modificato o creato nei vecchi sistemi DOS / Windows o Mac.

Errore di sintassi vicino al token imprevisto `('

Questo messaggio di errore compare anche quando si immettono comandi nella riga di comando di Linux per attività quotidiane come la copia manuale dei file, ecc. conchiglia.

Che cosa causa l'errore di sintassi vicino al token imprevisto `('?

Le ragioni di questo messaggio di errore sono molto diverse e non possono essere elencate in un articolo poiché ci sono migliaia di possibilità che la sintassi vada male durante l'esecuzione dei comandi. I motivi principali di questo errore sono:

  • Sintassi errata durante l'esecuzione di qualsiasi comando su entrambe le piattaforme. O non stai usando il comando correttamente o hai inserito la sintassi sbagliata.
  • La shell non è compatibile tra i sistemi Unix / DOS.
  • Ci sono problemi nell'esecuzione dello script della shell bash da un'altra fonte .

In questo articolo, presumiamo che tu conosca le basi della codifica e abbia un'idea di cosa stai facendo. Se sei un principiante, è meglio seguire tutorial approfonditi sulla lingua / comando che stai tentando di eseguire. Probabilmente hai commesso un errore di sintassi.

Soluzione 1: verifica della sintassi e del formato dei comandi

Il primo e principale motivo per cui potresti visualizzare questo messaggio di errore è quello di una cattiva sintassi nel tuo codice o di non seguire il formato esatto dei comandi. Ogni comando ha un formato predefinito che puoi vedere nella sua documentazione. Diversi parametri sono opzionali mentre altri sono obbligatori.

Inoltre, è necessario prestare particolare attenzione allo spazio aggiuntivo , all'uso di virgolette doppie e ai parametri obbligatori richiesti. Se qualcuno di loro manca o è stato dichiarato in modo errato, non sarai in grado di eseguire il tuo codice.

Ad esempio, invece del codice seguente

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

Devi eseguirlo come

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

Inoltre, assicurati di eseguire correttamente i comandi / script della shell se si estende su più righe.

A causa del tipo di parametro, le virgolette doppie sono necessarie. Uno spazio aggiuntivo potrebbe anche rovinare il codice e forzare il messaggio di errore. Assicurati di controllare la documentazione ufficiale del comando che stai eseguendo e vedere se c'è un problema lì.

Soluzione 2: risoluzione dei problemi dello script della shell

Se si utilizza uno script di shell che funziona nel sistema di origine ma restituisce un errore nella destinazione, è possibile risolvere il problema dello script controllando le variabili memorizzate durante l'esecuzione e quindi vedere cosa sta causando il problema. Questa è una causa molto comune poiché in molti casi la shell cerca di interpretare un carattere non stampabile.

Prova a eseguire la shell con il parametro "vx". Questo ci mostrerà quali comandi vengono eseguiti e quali valori sono memorizzati nello script. Da qui puoi risolvere i problemi e diagnosticare cosa non va.

Ad esempio, esegui lo script nel terminale dopo aver incluso 'vx' come:

# sh -vx ./test_script5.sh

Puoi controllare il contenuto dello script usando il comando 'cat' come:

# cat test_script5.sh

Soluzione 3: utilizzo del comando "dos2unix.exe"

Nei file di testo Windows / DOS, una nuova riga è una combinazione di un ritorno a capo (\ r) seguito da un avanzamento riga (\ n). In Mac (prima di Mac OS X), un'interruzione di riga utilizzava un semplice ritorno a capo (\ r). Unix / Linux e Mac OS X utilizzano interruzioni di riga di avanzamento riga (\ n). Se stai usando Cygwin, non riuscirà a elaborare gli script creati da DOS / Windows e Mac meno recenti a causa del carattere di ritorno a capo (\ r) aggiuntivo.

Utilizzando il comando "dos2unix.exe"

Qui puoi creare il comando 'dos2unix.exe' che convertirà lo script nel formato corretto e quindi potrai eseguirlo senza problemi.

Per concludere, è necessario ricercare i comandi e il tipo di piattaforma che si sta utilizzando e assicurarsi che non vi siano discrepanze. Poiché non siamo in grado di coprire tutte le possibilità, avresti un'idea di quali tipi di errori possono verificarsi e come risolverli.

Raccomandato

Correzione: Minecraft non rispondeva
Che cos'è l'applicazione di registrazione del dispositivo del sintonizzatore TV digitale e deve essere rimossa?
Cos'è FileRepMalware e dovresti rimuoverlo