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

سرور مجازی NVMe

روش رفع خطای نحو Bash – پایان غیرمنتظره فایل

0 2
زمان لازم برای مطالعه: 4 دقیقه


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

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

روش رفع خطای نحو Bash – پایان غیرمنتظره فایل

در این راهنما، روش رفع خطاهای پایان غیرمنتظره فایل Bash را توضیح خواهم داد روی لینوکس.

دلایل خطای پایان غیرمنتظره فایل Bash

روش رفع خطای نحو Bash – پایان غیرمنتظره فایل

نتیجه

مورد نیاز

سیستم هر توزیع لینوکس
نرم افزار پوسته بش

توجه داشته باشید: برای نمایش، من از اوبونتو 22.04 استفاده می کنم، اما دستورات نیز قابل اجرا هستند روی سایر توزیع های مبتنی بر دبیان یا اوبونتو.

دلایل خطای پایان غیرمنتظره فایل Bash

دلایل اصلی برای پایان غیرمنتظره خطاهای فایل در Bash عبارتند از:

  • ساختار حلقه نادرست
  • عبارت شرطی نادرست
  • عبارات شرطی تودرتو نادرست
  • نقل قول های گم شده
  • براکت های گم شده
  • فراخوانی عملکرد نادرست
پیشنهاد می‌کنیم بخوانید:  روش ارسال نام فایل به عنوان آرگومان در اسکریپت شل

روش رفع خطای نحو Bash – پایان غیرمنتظره فایل

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

  1. ساختار حلقه را تصحیح کنید
  2. نحو بیانیه شرطی را تصحیح کنید
  3. نحو دستورات شرطی تودرتو را تصحیح کنید
  4. نقل قول های گمشده را تصحیح کنید
  5. براکت های گم شده را تصحیح کنید
  6. فراخوانی تابع را تصحیح کنید

بیایید در مورد هر سناریو بحث کنیم:

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

1. ساختار حلقه را تصحیح کنید

در اینجا اسکریپت Bash است که می خواهم اجرا کنم.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

پس از اجرای کد، یک عدد دریافت می کنم پایان غیر منتظره فایل خطا

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

دلیل آن این است که برای ساختار حلقه نادرست است و کلمه کلیدی انجام شده در پایان گم شده است

ثابت

خطای پایان غیرمنتظره فایل را می توان با اضافه کردن آن برطرف کرد انجام شده کلمه کلیدی در انتهای برای ساختار حلقه

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

اسکریپت بدون هیچ خطایی اجرا می شود:

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

2. نحو بیانیه شرطی را تصحیح کنید

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

به عنوان مثال، کد زیر پایانی ندارد اگر برچسب بیانیه که فی.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

اجرای اسکریپت با خطا مواجه می شود.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

ثابت

برای رفع آن به سادگی آن را اضافه کنید فی در پایان عبارت if

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

اسکریپت را اجرا کنید، خطا حذف خواهد شد:

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

3. نحو دستورات شرطی تودرتو را تصحیح کنید

یکی دیگر از دلایل رایج چنین خطایی، مخلوط کردن نحو اسکریپت Bash با سایر زبان های برنامه نویسی است. در اکثر زبان های برنامه نویسی و اسکریپت نویسی دیگر اگر همانطور که هست نوشته می شود، اما در اسکریپت Bash، کلمه کلیدی است elif استفاده می شود. بیایید با یک مثال آن را درک کنیم:

پیشنهاد می‌کنیم بخوانید:  Base64 رمزگذاری و رمزگشایی از خط فرمان

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

کد بالا یک خطای غیرمنتظره پایان فایل را نشان می دهد.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

از آنجا که در Bash اسکریپت نویسی دیگر اگر در عوض از نحو استفاده نمی شود elif استفاده می شود.

ثابت

برای رفع خطا، آن را جایگزین کنید دیگر اگر با elif.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

و اسکریپت را اجرا کنید:

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

4. نقل قول گمشده را تصحیح کنید

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

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

مشاهده می شود که اولین عبارت پژواک فاقد نقل قول (“) است.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

ثابت

با قرار دادن نقل قول، خطا حذف می شود.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

5. براکت های گم شده را تصحیح کنید

خطای غیرمنتظره پایان فایل نیز زمانی رخ می دهد که براکت های کد را از دست بدهید. مثال زیر را ببینید:

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

اجرای این اسکریپت Bash خطا را نشان می دهد.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

ثابت

برای حذف خطا، براکت را اضافه کنید:

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

کد را اجرا کنید.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

6. فراخوانی عملکرد نامعتبر را تصحیح کنید

ممکن است با فراخوانی نادرست یک تابع در Bash با چنین خطایی مواجه شوید. مثلا:

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

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

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

ثابت

برای رفع خطا، براکت های گرد بعد از نام تابع را بردارید.

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

حالا اسکریپت را اجرا کنید:

روش رفع خطای نحو Bash – پایان غیرمنتظره فایلروش رفع خطای نحو Bash – پایان غیرمنتظره فایل

اسکریپت Bash بدون هیچ خطایی کار کرد.

نتیجه

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

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

زمان انتشار: 1402-12-28 16:29:14

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

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

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