Sådan løses Bash Terminal-fejl: 'Bash: Syntaksfejl nær uventet token 'Newline'

Sadan Loses Bash Terminal Fejl Bash Syntaksfejl Naer Uventet Token Newline



Når du arbejder med Bash-scriptet, kan du støde på den uventede token 'newline'-fejl, som påvirker udførelsen af ​​dit script. At forstå denne fejl er det første skridt til at løse den. Dette indlæg diskuterer alt om denne fejl. Vi vil forstå, hvad der udløser det, og hvordan du skal løse det for at undgå at støde på det igen. Lad os begynde!

Hvad er Bash: Syntaksfejl nær uventet token 'Newline'

Når du udfører et Bash-script, kan du løbe ind i den uventede token 'newline'-fejl på grund af forskellige årsager. Denne fejl opstår, når Bash registrerer uventede tegn i dit script eller input.

Hvis du står over for denne fejl, er det en syntaksfejl i dit script, der forårsager det. Vi vil give forskellige tilfælde, hvor fejlen kan opstå, og se, hvordan man løser den for at rette fejlen. Tag et kig på følgende eksempler.







Eksempel 1: Uciterede vinkelbeslag

Citer eventuelle vinkelparenteser, som du bruger i din kode, når du skriver et Bash-script. Først da vil Bash læse det som en vinkelparentes. Ellers rejser det den uventede token 'newline'-fejl.



I det følgende billede forsøgte vi at udføre et Bash-script på terminalen og fik syntaksfejlen som følger:







Den første ting, du skal gøre, når du støder på en sådan fejl, er at åbne dit script ved hjælp af en teksteditor. Vi bruger nano-editoren til denne sag.



Når du åbner scriptet, skal du kigge efter enhver kode, der indeholder vinkelparenteser uden anførselstegn. Det er hovedårsagen til fejlen. I det forrige billede kan vi se, at vores str-variabel har en streng uden anførselstegn, og det er årsagen til syntaksfejlen. Du kan rette denne fejl ved at citere den som vist i følgende:

Hvis vi citerer det som forventet af Bash og kører det samme script igen, vil vi klare at køre scriptet med succes.

Eksempel 2: Brug af vinkelparenteserne i Bash-kommandolinjeparametrene

Når du har et Bash-script, der tager et input fra brugeren til at bruge som argumenter i en parameter i scriptet, vil tilføjelse af vinkelparenteser uden at citere dem, fremkalde den uventede token 'newline'-fejl.

Hvis du vil inkludere et argument, der indeholder vinkelparenteserne, skal du sørge for at citere det. Hvis vi åbner Bash-scriptet, kan vi kontrollere syntaksen for at identificere årsagen til fejlen.

I den forrige scriptkode kan vi se, at vi accepterer argumenterne fra brugerens input. Når vi kører scriptet, skal vi således tilføje argumenterne, som vi gjorde, hvilket får syntaksfejlen til at vises. I brugerinputtet bemærker vi, at vi indtastede en vinkelparentes i det andet argument, som får Bash til at hæve syntaksfejlen.

Men hvis vi citerer vinkelparentesen og indtaster den igen, kører vi Bash-scriptet uden fejl.

I outputtet, efter at have citeret vinkelparenteserne, lykkedes det os at udskrive dem på terminalen i henhold til scriptet.

Så hvis du får fejlen 'Bash: syntaksfejl nær uventet token 'newline''-fejl, skal du starte med at tjekke koden i dit script for at bestemme, hvor fejlen er. Tjek desuden, om du har parametre i din kode, og om fejlen opstår på grund af en fejl i argumentet, som du indtaster på din terminal.

Konklusion

Du kan støde på 'Bash: syntaksfejl uventet token 'newline'', når du arbejder med Bash-scriptet på grund af to hovedårsager: du har muligvis ikke citeret vinkelparenteserne. Alligevel kan du have en fejl i dit argument. Dette indlæg beskrev disse to årsager og hvordan man løser fejlen.