از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش رفع خطای نحو Bash – پایان غیرمنتظره فایل
سرفصلهای مطلب
اکثر ویرایشگرهای متن لینوکس، برجسته سازی نحوی را برای اسکریپت های Bash ارائه می کنند. چنین خطاهایی معمولاً زمانی رخ می دهند که اسکریپت هایی را در ویرایشگری ایجاد می کنید که از برجسته سازی نحو پشتیبانی نمی کند.
در این راهنما، روش رفع خطاهای پایان غیرمنتظره فایل Bash را توضیح خواهم داد روی لینوکس.
دلایل خطای پایان غیرمنتظره فایل Bash
روش رفع خطای نحو Bash – پایان غیرمنتظره فایل
- 1. ساختار حلقه را تصحیح کنید
- 2. نحو بیانیه شرطی را تصحیح کنید
- 3. نحو دستورات شرطی تودرتو را تصحیح کنید
- 4. نقل قول گمشده را تصحیح کنید
- 5. براکت های گم شده را تصحیح کنید
- 6. فراخوانی عملکرد نامعتبر را تصحیح کنید
مورد نیاز
سیستم | هر توزیع لینوکس |
نرم افزار | پوسته بش |
توجه داشته باشید: برای نمایش، من از اوبونتو 22.04 استفاده می کنم، اما دستورات نیز قابل اجرا هستند روی سایر توزیع های مبتنی بر دبیان یا اوبونتو.
دلایل خطای پایان غیرمنتظره فایل Bash
دلایل اصلی برای پایان غیرمنتظره خطاهای فایل در Bash عبارتند از:
- ساختار حلقه نادرست
- عبارت شرطی نادرست
- عبارات شرطی تودرتو نادرست
- نقل قول های گم شده
- براکت های گم شده
- فراخوانی عملکرد نادرست
روش رفع خطای نحو Bash – پایان غیرمنتظره فایل
راه حل های زیر می توانند به رفع خطای پایان فایل در برنامه نویسی Bash کمک کنند:
- ساختار حلقه را تصحیح کنید
- نحو بیانیه شرطی را تصحیح کنید
- نحو دستورات شرطی تودرتو را تصحیح کنید
- نقل قول های گمشده را تصحیح کنید
- براکت های گم شده را تصحیح کنید
- فراخوانی تابع را تصحیح کنید
بیایید در مورد هر سناریو بحث کنیم:
توجه داشته باشید: نمونههای اسکریپت Bash زیر برای نشان دادن خطاهای انتهای فایل برای اهداف نمایشی در نظر گرفته شده است.
1. ساختار حلقه را تصحیح کنید
در اینجا اسکریپت Bash است که می خواهم اجرا کنم.
پس از اجرای کد، یک عدد دریافت می کنم پایان غیر منتظره فایل خطا
دلیل آن این است که برای ساختار حلقه نادرست است و کلمه کلیدی انجام شده در پایان گم شده است
ثابت
خطای پایان غیرمنتظره فایل را می توان با اضافه کردن آن برطرف کرد انجام شده کلمه کلیدی در انتهای برای ساختار حلقه
اسکریپت بدون هیچ خطایی اجرا می شود:
2. نحو بیانیه شرطی را تصحیح کنید
اگر دستور شرطی اشتباه نوشته شده باشد، می توانید با خطاهای غیرمنتظره پایان فایل نیز مواجه شوید.
به عنوان مثال، کد زیر پایانی ندارد اگر برچسب بیانیه که فی.
اجرای اسکریپت با خطا مواجه می شود.
ثابت
برای رفع آن به سادگی آن را اضافه کنید فی در پایان عبارت if
اسکریپت را اجرا کنید، خطا حذف خواهد شد:
3. نحو دستورات شرطی تودرتو را تصحیح کنید
یکی دیگر از دلایل رایج چنین خطایی، مخلوط کردن نحو اسکریپت Bash با سایر زبان های برنامه نویسی است. در اکثر زبان های برنامه نویسی و اسکریپت نویسی دیگر اگر همانطور که هست نوشته می شود، اما در اسکریپت Bash، کلمه کلیدی است elif استفاده می شود. بیایید با یک مثال آن را درک کنیم:
کد بالا یک خطای غیرمنتظره پایان فایل را نشان می دهد.
از آنجا که در Bash اسکریپت نویسی دیگر اگر در عوض از نحو استفاده نمی شود elif استفاده می شود.
ثابت
برای رفع خطا، آن را جایگزین کنید دیگر اگر با elif.
و اسکریپت را اجرا کنید:
4. نقل قول گمشده را تصحیح کنید
اگر نقل قول (“) از نحو اسکریپت Bash را از دست داده باشید، ممکن است با این خطا نیز مواجه شوید. اجرای کد زیر با خطای غیرمنتظره پایان فایل مواجه می شود.
مشاهده می شود که اولین عبارت پژواک فاقد نقل قول (“) است.
ثابت
با قرار دادن نقل قول، خطا حذف می شود.
5. براکت های گم شده را تصحیح کنید
خطای غیرمنتظره پایان فایل نیز زمانی رخ می دهد که براکت های کد را از دست بدهید. مثال زیر را ببینید:
اجرای این اسکریپت Bash خطا را نشان می دهد.
ثابت
برای حذف خطا، براکت را اضافه کنید:
کد را اجرا کنید.
6. فراخوانی عملکرد نامعتبر را تصحیح کنید
ممکن است با فراخوانی نادرست یک تابع در Bash با چنین خطایی مواجه شوید. مثلا:
در اسکریپت بالا، تابع با براکت های گرد فراخوانی می شود که نحو نادرست است. اجرای اسکریپت با خطای زیر مواجه می شود:
ثابت
برای رفع خطا، براکت های گرد بعد از نام تابع را بردارید.
حالا اسکریپت را اجرا کنید:
اسکریپت Bash بدون هیچ خطایی کار کرد.
نتیجه
خطای پایان غیرمنتظره فایل به دلیل خطاهای نحوی در اسکریپت های Bash رخ می دهد. این می تواند استفاده نادرست از ساختارهای حلقه، عبارات شرطی، نقل قول ها یا براکت ها باشد. با استفاده از یک ویرایشگر متن با برجسته کردن نحو Bash می توان از این خطا جلوگیری کرد. با این حال، مفسر Bash اشارهای به آنچه در اسکریپت وجود ندارد را میدهد و به راحتی میتوان آن را اشکال زدایی کرد.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-28 16:29:14