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

سرور مجازی NVMe

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

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


کدهای خروج اعداد صحیحی هستند که نشان می دهند یک اسکریپت با موفقیت اجرا شده است. این کدها به عنوان کدهای بازگشت یا وضعیت خروج نیز شناخته می شوند. کدهای خروج معمولا در صورت اجرای موفقیت آمیز صفر و در صورت اجرای ناموفق عدد غیر صفر را برمی گرداند.

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

اسکریپت Bash با کدهای بازگشتی متفاوت برمی گردد روی خارج شوید

قبل از اینکه به سراغ روش‌ها برویم، اجازه دهید نگاهی به کدهای خروجی بیاندازیم که معانی خاصی دارند:

کدهای خروج شرح
0 اسکریپت با موفقیت اجرا شد.
1 اسکریپت با خطاهای کلی اجرا می شود.
2 استفاده نامعتبر از برخی دستورات داخلی در اسکریپت.
126 خطای دستوری که فراخوانی شده و قابل اجرا نیست را نشان می دهد.
127 دستور در اسکریپت وجود ندارد.
128 کد خروج خارج از محدوده یا سیگنال خطای کشنده را نشان می دهد.
130 CTRL+C اسکریپت را خاتمه می دهد.
255 یک کد خطای کلی خرابی اسکریپت.

روش دریافت کدهای بازگشت روی خروج؟

شما فقط باید “echo $?” را بنویسید. دستور دریافت کد برگشتی برای مثال، می‌خواهید دو عدد را با استفاده از اسکریپت Bash زیر مقایسه کنید:

پیشنهاد می‌کنیم بخوانید:  روش حذف کاراکترهای خاص با استفاده از sed

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

هنگامی که اسکریپت را در terminal”echo $?” را اجرا کنید برای دریافت کد بازگشت روی خروج:

./مقایسه.ش

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شویدایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

اکو دلار؟

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شویدایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

“comparison.sh” با موفقیت اجرا شد. به همین دلیل ترمینال ها صفر را به عنوان کد بازگشتی نشان می دهند. به طور مشابه، به عنوان اجرای موفقیت آمیز اسکریپت، غیر صفر دریافت خواهید کرد. به عنوان مثال، اگر از Ls به جای دستور ls در اسکریپت استفاده کنید، ممکن است کد غیر صفر را به عنوان کد بازگشتی دریافت کنید:

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شویدایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

همانطور که در تصویر قبلی مشاهده می کنید، terminal 127 را به عنوان کد بازگشتی نشان می دهد زیرا اسکریپت حاوی دستور اشتباه است:

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شویدایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

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

می توانید به صورت دستی کدهای خروج را در اسکریپت تنظیم کنید. به عنوان مثال، اگر می خواهید 255 را به عنوان کد خروج دریافت کنید، از اسکریپت زیر استفاده کنید:

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شویدایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

حال، اسکریپت را اجرا کنید و سپس “echo $?” را اجرا کنید. دستور دریافت 255 به عنوان کد بازگشتی:

./مقایسه.ش

اکو دلار؟

ایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شویدایجاد بازگشت اسکریپت Bash با کدهای مختلف بازگشت روی خارج شوید

نتیجه

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

پیشنهاد می‌کنیم بخوانید:  روش استفاده از دستورات Bash "If -Z" و "If -N" برای تست رشته

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

زمان انتشار: 1402-12-29 17:49:06

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

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

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