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

سرور مجازی NVMe

در Bash، اگر دستوری با شکست مواجه شد، دستورات دیگری را اجرا کنید

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


آیا می دانستید که هر دستوری که در لینوکس اجرا می کنید یک کد خروج دارد؟ این درست است حتی اگر یک فرمان با یک خطا خاتمه یابد. مقادیر خروجی مقادیر صحیحی هستند که از 0 تا 255 متغیر هستند. یک مقدار غیر صفر، یعنی مقداری بالاتر از 0، نشان می دهد که دستور با یک خطا خارج می شود.

اگر دستوری با موفقیت در bash، دارای کد خروج 0 است. برای دستور یافت نشد، کد خروج 127 است. بنابراین، می توانیم از کد خروج برای انجام یک عمل خاص استفاده کنیم.

این آموزش چند نکته و ترفند را به شما ارائه می دهد که می توانید از آنها برای انجام یک عمل مبتنی بر استفاده استفاده کنید روی کد خروجی دستور قبلی

با استفاده از اپراتور OR

یکی از راه های اجرای دستور در صورت شکست دستور قبلی، استفاده از عملگر OR است. از آنجایی که یک عملگر OR فقط به یک شرط نیاز دارد تا درست باشد، می‌توانیم دستور زیر را اجرا کنیم:

$ command1 || commad2

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

مثلا:

$ ping -c lhint || echo “موفقیت”؛

در مثال بالا، echo با وجود خطای ناشی از وضوح نام در دستور ping، همچنان اجرا خواهد شد.

در اینجا یک اسکرین شات نشان دهنده این موضوع است:

پیشنهاد می‌کنیم بخوانید:  روش بررسی نسخه اوبونتو در bash

در Bash، اگر دستوری با شکست مواجه شد، دستورات دیگری را اجرا کنید

توجه داشته باشید: با استفاده از آن می توانید چندین دستور را گره بزنید bash اپراتورها برای رسیدن به بهترین نتیجه به عنوان مثال، شما می توانید اجازه دهید تا خواب اجرا شود تنها در صورت پینگ و echo با موفقیت اجرا شود

$ ping -c 1 linuxhint.com && echo “موفقیت” || خواب 100;

در Bash، اگر دستوری با شکست مواجه شد، دستورات دیگری را اجرا کنیددر Bash، اگر دستوری با شکست مواجه شد، دستورات دیگری را اجرا کنید

در مثال بالا، اگر پینگ یا echo شکست می خورد، خواب اجرا نمی شود.

اگر دستور زیر متکی باشد انجام این کار می تواند مفید باشد روی خروجی از دستور قبلی

با استفاده از کد خروج

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

$ echo دلار؟

در Bash، اگر دستوری با شکست مواجه شد، دستورات دیگری را اجرا کنیددر Bash، اگر دستوری با شکست مواجه شد، دستورات دیگری را اجرا کنید

برای دستوری که به درستی اجرا شده است 0 و برای دستوری که در مثال بالا یافت نشد 127 دریافت می کنیم.

برای استفاده از کد خروج برای یک اقدام، این کار را انجام می دهیم:

#!/صندوقچه/bash

اگر [[$? -eq 0]]؛
سپس
echo “موفقیت”
دیگر:
echo “شکست”
فی

در اسکریپت بالا، بررسی می کنیم که آیا کد خروج برابر با 0 است یا خیر، که نشان می دهد دستور با موفقیت اجرا شده است. اگر درست است، یک دستور را اجرا کنید. در این مورد، echo “موفقیت.” در غیر این صورت، echo “شکست.”

نتیجه

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

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
پیشنهاد می‌کنیم بخوانید:  چگونه عبارت Bash If-Else را در یک خط بنویسیم

زمان انتشار: 1402-12-30 19:20:02

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

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

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