Kuidas lahendada Bashi terminali tõrge: 'Bash: süntaksiviga ootamatu märgi 'Newline' lähedal

Kuidas Lahendada Bashi Terminali Torge Bash Suntaksiviga Ootamatu Margi Newline Lahedal



Bashi skriptiga töötades võite ilmneda ootamatu märgi „uusrea” tõrge, mis mõjutab teie skripti täitmist. Selle vea mõistmine on esimene samm selle lahendamiseks. See postitus käsitleb kõike selle vea kohta. Saame aru, mis selle käivitab ja kuidas peaksite selle lahendama, et vältida sellega uuesti kokku puutumist. Alustagem!

Mis on Bash: süntaksiviga ootamatu märgi 'Newline' lähedal

Bashi skripti käivitamisel võib erinevatel põhjustel ilmneda ootamatu märgi „uusrea” tõrge. See tõrge ilmneb siis, kui Bash tuvastab teie skriptis või sisendis ootamatuid märke.

Kui seisate silmitsi selle veaga, põhjustab selle skripti süntaksiviga. Anname erinevaid juhtumeid, kus tõrge võib ilmneda, ja vaatame, kuidas seda viga parandada. Heitke pilk järgmistele näidetele.







Näide 1: noteerimata nurksulud

Tsiteeri kõiki nurksulgusid, mida kasutate oma koodis Bashi skripti kirjutamisel. Alles siis loeb Bash seda nurksulguna. Vastasel juhul tekitab see ootamatu märgi „uusrea” vea.



Järgmisel pildil proovisime terminalis Bashi skripti käivitada ja saime järgmise süntaksivea:







Esimene asi, mida sellise vea ilmnemisel teha, on skripti avamine tekstiredaktoriga. Sel juhul kasutame nanoredaktorit.



Kui avate skripti, otsige mis tahes koodi, mis sisaldab jutumärkideta nurksulgusid. See on vea peamine põhjus. Eelmisel pildil näeme, et meie str-muutujal on jutumärkideta string ja see on süntaksivea põhjus. Saate selle vea parandada, tsiteerides seda järgmiselt:

Kui tsiteerime seda Bashi ootuste kohaselt ja käivitame sama skripti uuesti, õnnestub meil skript edukalt käitada.

Näide 2: nurksulgude kasutamine Bashi käsurea parameetrites

Kui teil on Bashi skript, mis võtab kasutajalt sisendi, et kasutada seda skripti parameetri argumentidena, põhjustab nurksulgude lisamine neid tsiteerimata ootamatu märgi „reavahetuse” vea.

Kui soovite lisada argumendi, mis sisaldab nurksulgusid, tsiteerige seda kindlasti. Kui avame Bashi skripti, saame kontrollida süntaksit, et tuvastada vea päritolu.

Eelmises skriptikoodis näeme, et aktsepteerime kasutaja sisendi argumente. Seega peame skripti käivitamisel lisama argumendid nagu me tegime, põhjustades süntaksivea ilmumise. Kasutaja sisendis märkame, et sisestasime teise argumendi nurksulu, mis põhjustab Bashi süntaksivea tõstmise.

Kui aga tsiteerime nurksulgu ja sisestame selle uuesti, käivitame Bashi skripti edukalt ilma vigadeta.

Väljundis õnnestus peale nurksulgude tsiteerimist need skripti järgi terminalile printida.

Seega, kui näete tõrke „Bash: süntaksiviga ootamatu märgi „uusrea” lähedal, kontrollige kõigepealt oma skriptis olevat koodi, et teha kindlaks, kus viga on. Lisaks kontrollige, kas teie koodis on parameetreid ja kas tõrge ilmneb terminali sisestatud argumendi vea tõttu.

Järeldus

Bashi skriptiga töötades võib ilmneda „Bash: süntaksiviga ootamatu märgi uus rida” kahel peamisel põhjusel: te ei pruugi nurksulgusid tsiteerida. Siiski võib teie argumendis olla viga. Selles postituses kirjeldati neid kahte põhjust ja vea parandamist.