از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
خروج Bash روی خطا
سرفصلهای مطلب
هنگامی که هر دستور لینوکس از روی آن اجرا می شود، یک کد وضعیت خروج برگردانده می شود terminal، یا دستور موفق است یا ناموفق. این کد وضعیت می تواند برای نشان دادن پیام خطا برای اجرای ناموفق یا انجام هر کار خاصی با استفاده از اسکریپت پوسته استفاده شود. کد وضعیت خروج همیشه با یک عدد نشان داده می شود. مقدار این کد برای اجرای موفقیت آمیز هر دستور لینوکس 0 است و برای اجرای ناموفق دستور هر عددی از 1 تا 255 را برمی گرداند. چگونه می توان از کد وضعیت موجود استفاده کرد terminal و در bash اسکریپت در این آموزش نشان داده شده است.
برخی از کدهای وضعیت خطای رایج در زیر ذکر شده است.
کد | شرح | نظرات |
0 | نشان دهنده اجرای موفقیت آمیز است. | |
1 | برای گرفتن تمام خطاهای عمومی استفاده می شود. | “تقسیم بر صفر”، “عملیات مجاز نیست” و غیره می توانند پیام های خطای این کد باشند. |
2 | این نشان دهنده سوء استفاده از پوسته داخلی است. | «کلید واژه گمشده»، «هیچ فایل یا دایرکتوری وجود ندارد» و غیره میتوانند پیامهای خطای این کد باشند. |
126 | زمانی ایجاد می شود که هر فرمانی قادر به اجرا نباشد. | مشکل مجوز یا کلید مورد نیاز موجود نیست می تواند این کد وضعیت را ایجاد کند |
127 | معمولاً برای مشکل مسیر فرمان ایجاد می شود. | “فرمان یافت نشد” می تواند پیام این کد خطا باشد. |
130 | برای خطای کشنده ایجاد می کند. | “اسکریپت پایان یافته با Ctrl+C” می تواند پیام این کد باشد. |
255* | این کد خروج از محدوده را نشان می دهد. |
مثال-1: خواندن کد خروج از terminal
‘$؟’ متغیر shell می تواند برای نمایش کد خروجی هر دستوری استفاده شود. ‘ls –la’ یک دستور معتبر است و فهرست فایلها و پوشههای دایرکتوری فعلی را نشان میدهد. ارزش ‘$?’ پس از اجرای دستور ‘ls -la’ 0 خواهد بود. ‘ls –xyz’ یک دستور نامعتبر است و ‘$?’ پس از اجرای دستور 2 را به عنوان کد خطا برمی گرداند.
$ echo دلار؟
$ ls -xyz
$ echo دلار؟
مثال-2: خواندن کد خروج در bash اسکریپت
ایجاد یک bash فایل به نام read_file.sh با اسکریپت زیر در این اسکریپت، نام فایل به عنوان ورودی کاربر گرفته می شود و تعداد کل خطوط، کلمات و کاراکترهای آن فایل با استفاده از دستور ‘wc’ شمارش می شود. اگر نام فایل معتبر باشد، مقدار $status_code 0 است و اگر نام فایل نامعتبر باشد، آنگاه مقدار $status_code برابر با 1 است.
read_file.sh
echo “نام فایل را وارد کنید”
خواندن نام فایل
دستشویی -lwc $filename
وضعیت_کد=دلار؟
echo “خروجی دستور “wc” این است: $status_code“
مثال-3: استفاده از مقدار کد خروج برای انجام کار خاص
ایجاد یک bash فایل به نام read_month.sh با کد زیر در اینجا، یک مقدار تاریخ به عنوان ورودی گرفته می شود. اگر تاریخ ورودی معتبر باشد، نام ماه از مقدار تاریخ بازیابی می شود، در غیر این صورت پیام خطای “تاریخ نامعتبر” ظاهر می شود. شرط “if” در اسکریپت برای بررسی کد وضعیت خروج از دستور date استفاده می شود. اگر شرط درست باشد، پیام موفقیت و نام ماه تاریخ چاپ خواهد شد. اگر شرط نادرست باشد، پیام شکست و کد وضعیت خروج، 1 خواهد بود print.
read_month.sh
echo “تاریخ را در قالب: YYYY-MM-DD وارد کنید”
خواندن date_value
ماه جاری=$(تاریخ -د “$date_value“ ‘+%B’)
اگر [ $? -eq 0 ]
سپس
echo “فرمان تاریخ با موفقیت اجرا شد”
echo “ماه جاری است $current_month“
دیگر
echo “فرمان تاریخ با موفقیت اجرا نشد”
خروج 1
فی
اسکریپت را اجرا کنید.
مثال-4: استفاده از && و || با کد خروج
عملگر منطقی “&&” برای کد خروج موفق و “||” استفاده می شود. عملگر منطقی برای کد خروج ناموفق استفاده می شود. دستور زیر خواهد بود print «فایل وجود دارد» اگر book.txt فایل در مکان فعلی وجود دارد و print اگر فایل وجود ندارد book.txt فایل در مکان فعلی وجود ندارد.
نتیجه:
کاربردهای مختلف کد وضعیت خروج در این آموزش نشان داده شده است. امیدواریم که خواننده مفهوم روشنی در مورد کد وضعیت خروج دریافت کند bash پس از خواندن این آموزش
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 19:24:03