وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

0 17
زمان لازم برای مطالعه: 3 دقیقه


هنگام کار با اسکریپت Bash، می توانید با خطای غیرمنتظره “خط جدید” روبرو شوید که بر اجرای اسکریپت شما تأثیر می گذارد. درک این خطا اولین قدم برای حل آن است. این پست همه چیز را در مورد این خطا مورد بحث قرار می دهد. ما متوجه خواهیم شد که چه چیزی باعث آن می شود و چگونه باید آن را حل کنید تا با آن مواجه نشوید. شروع کنیم!

Bash چیست: خطای نحوی نزدیک به توکن غیرمنتظره “Newline”

هنگام اجرای یک اسکریپت Bash، ممکن است به دلایل مختلف با خطای غیرمنتظره “خط جدید” نشانه مواجه شوید. این خطا زمانی رخ می دهد که Bash کاراکترهای غیرمنتظره را در اسکریپت یا ورودی شما شناسایی کند.

اگر با این خطا مواجه هستید، یک خطای نحوی در اسکریپت شما باعث آن شده است. ما موارد مختلفی را ارائه می دهیم که در آن خطا ممکن است رخ دهد و روش حل آن را برای رفع خطا می بینیم. به نمونه های زیر دقت کنید.

مثال 1: براکت های زاویه ای نقل قول نشده

هنگام نوشتن یک اسکریپت Bash، هر براکت زاویه ای را که در کد خود استفاده می کنید، نقل قول کنید. فقط در این صورت Bash آن را به عنوان یک براکت زاویه می خواند. در غیر این صورت، خطای غیرمنتظره “خط جدید” توکن را ایجاد می کند.

پیشنهاد می‌کنیم بخوانید:  دستور Bash trap

در تصویر زیر سعی کردیم یک اسکریپت Bash را اجرا کنیم روی را terminal و خطای نحوی را به صورت زیر دریافت کرد:

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

اولین کاری که باید هنگام مواجه شدن با چنین خطایی انجام دهید این است که اسکریپت خود را با استفاده از یک ویرایشگر متن باز کنید. برای این مورد از ویرایشگر نانو استفاده می کنیم.

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

وقتی اسکریپت را باز می کنید، به دنبال هر کدی باشید که حاوی براکت های زاویه ای نقل قول نشده باشد. علت اصلی خطا همین است. در تصویر قبلی می بینیم که متغیر str ما دارای یک رشته نقل قول نشده است و این دلیل خطای نحوی است. شما می توانید این خطا را با نقل قولی که در زیر نشان داده شده است برطرف کنید:

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

اگر ما آن را همانطور که توسط Bash انتظار می رود نقل کنیم و همان اسکریپت را دوباره اجرا کنیم، اسکریپت را با موفقیت اجرا خواهیم کرد.

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

مثال 2: استفاده از براکت های زاویه در پارامترهای خط فرمان Bash

هنگامی که یک اسکریپت Bash دارید که ورودی را از کاربر می گیرد تا به عنوان آرگومان در یک پارامتر در اسکریپت استفاده کند، اضافه کردن براکت های زاویه بدون نقل قول، خطای غیرمنتظره “خط جدید” را ایجاد می کند.

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

اگر می‌خواهید آرگومان‌هایی را وارد کنید که حاوی کروشه‌های زاویه باشد، مطمئن شوید که آن را نقل‌قول کرده‌اید. اگر اسکریپت Bash را باز کنیم، می‌توانیم سینتکس را بررسی کنیم تا منشا خطا را شناسایی کنیم.

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

در کد اسکریپت قبلی، می بینیم که آرگومان ها را از ورودی کاربر می پذیریم. بنابراین، هنگامی که اسکریپت را اجرا می کنیم، باید آرگومان ها را همانطور که انجام دادیم اضافه کنیم، که باعث می شود خطای نحو ظاهر شود. در ورودی کاربر، متوجه می‌شویم که در آرگومان دوم یک براکت زاویه وارد کرده‌ایم که باعث می‌شود Bash خطای نحوی را افزایش دهد.

پیشنهاد می‌کنیم بخوانید:  Bash Sleep 1 ثانیه

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

با این حال، اگر براکت زاویه را نقل قول کنیم و دوباره وارد کنیم، اسکریپت Bash را با موفقیت بدون خطا اجرا می کنیم.

روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»روش رفع خطای ترمینال Bash: «Bash: خطای نحوی نزدیک به توکن غیرمنتظره «Newline»

در خروجی، پس از نقل قول زاویه، موفق به چاپ آنها شدیم روی را terminal طبق فیلمنامه

بنابراین، اگر با خطای «Bash: نحوی نزدیک به نشانه غیرمنتظره «خط جدید» مواجه شدید، با بررسی کد موجود در اسکریپت خود شروع کنید تا مشخص کنید خطا کجاست. علاوه بر این، بررسی کنید که آیا پارامترهایی در کد خود دارید و آیا خطا به دلیل خطا در آرگومان وارد شده رخ داده است. روی شما terminal.

نتیجه

هنگام کار با اسکریپت Bash به دو دلیل اصلی می‌توانید با «خطای دستوری Bash: نشانه غیرمنتظره «خط جدید» مواجه شوید: ممکن است کروشه‌ها را نقل قول نکرده باشید. با این حال، ممکن است در استدلال خود خطایی داشته باشید. در این پست این دو علت و روش رفع خطا توضیح داده شده است.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-28 18:08:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید