از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
کد خروج Bash آخرین فرمان
سرفصلهای مطلب
وقتی یک bash دستور اجرا می شود، صرف نظر از اجرای موفقیت آمیز یا ناموفق، کد خروج را پشت سر می گذارد. بررسی کد خروج میتواند بینش مفیدی در مورد رفتار آخرین اجرای فرمان ارائه دهد.
در این راهنما، روش بررسی را بررسی کنید bash کد خروج از آخرین دستور و برخی کاربردهای احتمالی آن.
کد خروج Bash
هر فرمان یونیکس/لینوکس که توسط اسکریپت پوسته یا کاربر اجرا میشود، وضعیت خروج را به جا میگذارد. این یک عدد صحیح است که بدون تغییر باقی می ماند مگر اینکه دستور بعدی اجرا شود. اگر کد خروج 0 باشد، دستور با موفقیت انجام شد. اگر کد خروج غیر صفر (1-255) باشد، نشان دهنده یک خطا است.
کاربردهای بالقوه زیادی از آن وجود دارد bash کد خروج بدیهی ترین مورد، البته، بررسی این است که آیا آخرین دستور به درستی اجرا شده است، به خصوص اگر دستور هیچ خروجی ایجاد نکند.
در شرایطی که bash، کد خروجی دستور قبلی با استفاده از متغیر پوسته “$?” قابل دسترسی است.
بررسی کد خروج Bash
راه اندازی a terminalو هر دستوری را اجرا کنید.
مقدار متغیر پوسته “$?” را بررسی کنید. برای کد خروج
از آنجایی که دستور “تاریخ” با موفقیت اجرا شد، کد خروج 0 است. اگر خطایی وجود داشته باشد چه اتفاقی می افتد؟
بیایید دستوری را اجرا کنیم که وجود ندارد.
کد خروج را بررسی کنید.
این یک مقدار غیر صفر است که نشان می دهد دستور قبلی به درستی اجرا نشده است.
حالا به دستور زیر دقت کنید:
هنگام کار با دستوری که یک یا چند لوله دارد، کد خروجی آخرین کد اجرا شده در لوله خواهد بود. در این مورد، دستور grep است.
چون دستور grep موفقیت آمیز بود، 0 خواهد بود.
در این مثال، اگر دستور grep ناموفق باشد، کد خروج غیر صفر خواهد بود.
$ echo دلار؟
گنجاندن کد خروج در اسکریپت ها
کد خروج همچنین می تواند برای اسکریپت استفاده شود. یک راه ساده برای استفاده از آن، اختصاص دادن آن به یک متغیر پوسته و کار با آن است. در اینجا یک نمونه اسکریپت پوسته است که از کد خروج به عنوان شرط استفاده می کند print خروجی خاص
$ echo “سلام دنیا”
$ وضعیت=دلار؟
$ [ $status -eq 0 ] && echo “فرمان موفق شد” || echo “فرمان ناموفق”
هنگام اجرا، اسکریپت خروجی زیر را تولید می کند.
حالا، بیایید ببینیم وقتی یک دستور نامعتبر برای اجرا وجود دارد، چه اتفاقی میافتد.
دستور تصادفی $
$ وضعیت=دلار؟
$ [ $status -eq 0 ] && echo “فرمان موفق شد” || echo “فرمان ناموفق”
هنگام اجرا، خروجی متفاوت خواهد بود.
توضیح مقدار کد خروج
وقتی کد خروجی غیر صفر باشد، مقدار آن از 1 تا 255 متغیر است، حالا این مقدار به چه معناست؟
در حالی که مقدار محدود است، توضیح هر مقدار مختص برنامه/اسکریپت است. به عنوان مثال، “ls” و “grep” توضیحات متفاوتی برای کد خطای 1 و 2 دارند.
تعریف وضعیت خروج در اسکریپت
هنگام نوشتن یک اسکریپت، می توانیم مقادیر کد خروجی سفارشی را تعریف کنیم. این یک روش مفید برای رفع اشکال آسان تر است. که در bash اسکریپت ها، این دستور «خروج» است که با مقدار کد خروجی همراه است.
طبق قرارداد، توصیه می شود کد خروجی 0 را برای اجرای موفقیت آمیز اختصاص دهید و از بقیه (1-255) برای خطاهای احتمالی استفاده کنید. با رسیدن به دستور خروج، اجرای اسکریپت پوسته خاتمه می یابد، بنابراین مراقب قرارگیری آن باشید.
به اسکریپت پوسته زیر نگاهی بیندازید. در اینجا، اگر شرط برقرار باشد، اسکریپت با کد خروج 0 خاتمه می یابد. اگر شرط برقرار نباشد، کد خروج 1 خواهد بود.
$ اگر [[ “$(whoami)“ != root ]]; سپس
$ echo “کاربر اصلی نیست.”
$ خروج 1
$ فی
$ echo “کاربر ریشه”
$ خروج 0
نتیجه اجرای این اسکریپت را بدون مجوز sudo یا کاربر «ریشه» تأیید کنید.
$ echo دلار؟
افکار نهایی
این راهنما نشان می دهد که کدهای خروج چیست و چگونه می توانید از آنها استفاده کنید. همچنین روش تخصیص کدهای خروج مناسب در a را نشان می دهد bash اسکریپت
علاقه مند به bash اسکریپت نویسی؟ یکی از ساده ترین راه ها برای شروع، نوشتن اسکریپت های شخصی است. این راهنمای ساده را بررسی کنید روی چگونه ساده بنویسیم bash اسکریپت
محاسبات مبارک!
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 02:04:05