Kaip išspręsti „Bash“ terminalo klaidą: „Bash: Sintaksės klaida šalia netikėto žetono „Newline“

Kaip Isspresti Bash Terminalo Klaida Bash Sintakses Klaida Salia Netiketo Zetono Newline



Dirbdami su „Bash“ scenarijumi galite susidurti su netikėta žetono „naujos eilutės“ klaida, kuri turi įtakos jūsų scenarijaus vykdymui. Šios klaidos supratimas yra pirmas žingsnis siekiant ją išspręsti. Šiame įraše aptariama viskas apie šią klaidą. Mes suprasime, kas ją sukelia ir kaip turėtumėte ją išspręsti, kad išvengtumėte pakartotinio susidūrimo. Pradėkime!

Kas yra Bash: Sintaksės klaida šalia netikėto žetono „Naujos eilutės“

Vykdydami „Bash“ scenarijų, dėl įvairių priežasčių galite susidurti su netikėta žetono „naujos eilutės“ klaida. Ši klaida atsiranda, kai „Bash“ jūsų scenarijuje ar įvestyje aptinka netikėtų simbolių.

Jei susiduriate su šia klaida, ją sukelia scenarijaus sintaksės klaida. Pateiksime skirtingus atvejus, kai gali įvykti klaida, ir pažiūrėsime, kaip ją išspręsti, kad klaida būtų ištaisyta. Pažvelkite į šiuos pavyzdžius.







1 pavyzdys: Kampiniai skliaustai be kabučių

Rašydami „Bash“ scenarijų, cituokite visus kampinius skliaustus, kuriuos naudojate savo kode. Tik tada Bashas jį skaitys kaip kampinį skliaustą. Priešingu atveju tai iškelia netikėtą žetono „naujos eilutės“ klaidą.



Šiame paveikslėlyje bandėme vykdyti „Bash“ scenarijų terminale ir gavome sintaksės klaidą taip:







Pirmas dalykas, kurį reikia padaryti susidūrus su tokia klaida, yra atidaryti scenarijų naudojant teksto rengyklę. Šiuo atveju naudojame nano redaktorių.



Kai atidarote scenarijų, ieškokite kodo, kuriame yra kampinių skliaustų be kabučių. Tai yra pagrindinė klaidos priežastis. Ankstesniame paveikslėlyje matome, kad mūsų str kintamasis turi eilutę be kabučių, ir tai yra sintaksės klaidos priežastis. Galite ištaisyti šią klaidą cituodami ją, kaip parodyta toliau:

Jei cituosime jį taip, kaip tikėjosi Bash, ir iš naujo paleisime tą patį scenarijų, scenarijų paleisti pavyks sėkmingai.

2 pavyzdys: kampinių skliaustų naudojimas Bash komandų eilutės parametruose

Kai turite Bash scenarijų, kuris naudoja vartotojo įvestį, kad jis būtų naudojamas kaip argumentai scenarijaus parametre, pridėjus kampinius skliaustus jų necituojant, atsiranda netikėta žetono „naujos eilutės“ klaida.

Jei norite įtraukti argumentą, kuriame yra kampiniai skliaustai, būtinai jį cituokite. Jei atidarysime „Bash“ scenarijų, galime patikrinti sintaksę, kad nustatytų klaidos kilmę.

Ankstesniame scenarijaus kode matome, kad priimame vartotojo įvesties argumentus. Taigi, kai vykdome scenarijų, turime pridėti argumentų, kaip ir padarėme, todėl atsiranda sintaksės klaida. Vartotojo įvestyje pastebime, kad antrajame argumente įvedėme kampinį skliaustą, dėl kurio „Bash“ padidina sintaksės klaidą.

Tačiau jei pacituojame kampinį skliaustą ir įvesime jį dar kartą, sėkmingai paleisime Bash scenarijų be klaidų.

Išvestyje, pacitavus kampinius skliaustus, pavyko juos atspausdinti terminale pagal scenarijų.

Taigi, jei gaunate klaidą „Bash: sintaksės klaida šalia netikėtos prieigos rakto naujos eilutės“, pirmiausia patikrinkite kodą savo scenarijuje, kad nustatytumėte, kur yra klaida. Be to, patikrinkite, ar jūsų kode yra parametrų ir ar klaida įvyko dėl argumento, kurį įvedėte savo terminale, klaidos.

Išvada

Dirbdami su Bash scenarijumi galite susidurti su „Bash: sintaksės klaidos netikėtu žetonu „newline““ dėl dviejų pagrindinių priežasčių: galbūt nepaminėjote kampinių skliaustų. Vis dėlto argumentuose gali būti klaida. Šiame įraše buvo aprašytos šios dvi priežastys ir tai, kaip ištaisyti klaidą.