Slik løser du Bash Terminal-feil: 'Bash: Syntaksfeil nær uventet token 'Newline'

Slik Loser Du Bash Terminal Feil Bash Syntaksfeil Naer Uventet Token Newline



Når du arbeider med Bash-skriptet, kan du støte på den uventede token 'newline'-feilen som påvirker utførelsen av skriptet ditt. Å forstå denne feilen er det første trinnet for å løse den. Dette innlegget diskuterer alt om denne feilen. Vi vil forstå hva som utløser det og hvordan du bør løse det for å unngå å møte det igjen. La oss begynne!

Hva er Bash: Syntaksfeil nær uventet token 'Newline'

Når du kjører et Bash-skript, kan du støte på den uventede token 'newline'-feilen på grunn av forskjellige årsaker. Denne feilen oppstår når Bash oppdager uventede tegn i skriptet eller inndataene dine.

Hvis du står overfor denne feilen, er det en syntaksfeil i skriptet som forårsaker det. Vi vil gi forskjellige tilfeller hvor feilen kan oppstå og se hvordan du kan løse den for å fikse feilen. Ta en titt på følgende eksempler.







Eksempel 1: Unoterte vinkelparenteser

Sitat eventuelle vinkelparenteser du bruker i koden når du skriver et Bash-skript. Først da vil Bash lese det som en vinkelparentes. Ellers oppstår den uventede token 'nylinje'-feilen.



I det følgende bildet prøvde vi å kjøre et Bash-skript på terminalen og fikk syntaksfeilen som følger:







Det første du må gjøre når du støter på en slik feil, er å åpne skriptet ditt ved hjelp av et tekstredigeringsprogram. Vi bruker nano-editoren for denne saken.



Når du åpner skriptet, se etter hvilken som helst kode som inneholder vinkelparenteser uten anførselstegn. Det er hovedårsaken til feilen. I det forrige bildet kan vi se at str-variabelen vår har en streng uten anførselstegn, og det er årsaken til syntaksfeilen. Du kan fikse denne feilen ved å sitere den som vist i følgende:

Hvis vi siterer det som forventet av Bash og kjører det samme skriptet på nytt, vil vi klare å kjøre skriptet.

Eksempel 2: Bruk av vinkelparentesene i Bash-kommandolinjeparametrene

Når du har et Bash-skript som tar innspill fra brukeren for å bruke som argumenter i en parameter i skriptet, vil det å legge til vinkelparentesene uten å sitere dem, øke den uventede token-feilen 'nylinje'.

Hvis du vil inkludere et argument som inneholder vinkelparentesene, sørg for at du siterer det. Hvis vi åpner Bash-skriptet, kan vi sjekke syntaksen for å identifisere opprinnelsen til feilen.

I forrige skriptkode kan vi se at vi godtar argumentene fra brukerinndataene. Derfor, når vi kjører skriptet, må vi legge til argumentene som vi gjorde, noe som forårsaker syntaksfeilen. I brukerinngangen legger vi merke til at vi la inn en vinkelparentes i det andre argumentet som får Bash til å øke syntaksfeilen.

Men hvis vi siterer vinkelparentesen og skriver den inn igjen, kjører vi Bash-skriptet uten feil.

I utgangen, etter å ha sitert vinkelparentesene, klarte vi å skrive dem ut på terminalen i henhold til skriptet.

Så hvis du får «Bash: syntaksfeil nær uventet token «newline»»-feil, start med å sjekke koden i skriptet for å finne ut hvor feilen er. Sjekk dessuten om du har parametere i koden din og om feilen oppstår på grunn av en feil i argumentet du skriver inn på terminalen.

Konklusjon

Du kan støte på 'Bash: syntaksfeil uventet token 'newline'' når du arbeider med Bash-skriptet på grunn av to hovedårsaker: du kan ikke ha sitert vinkelparentesene. Likevel kan du ha en feil i argumentasjonen din. Dette innlegget beskrev disse to årsakene og hvordan du fikser feilen.