از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
در Bash، اگر دستوری با شکست مواجه شد، دستورات دیگری را اجرا کنید
سرفصلهای مطلب
اگر دستوری با موفقیت در bash، دارای کد خروج 0 است. برای دستور یافت نشد، کد خروج 127 است. بنابراین، می توانیم از کد خروج برای انجام یک عمل خاص استفاده کنیم.
این آموزش چند نکته و ترفند را به شما ارائه می دهد که می توانید از آنها برای انجام یک عمل مبتنی بر استفاده استفاده کنید روی کد خروجی دستور قبلی
با استفاده از اپراتور OR
یکی از راه های اجرای دستور در صورت شکست دستور قبلی، استفاده از عملگر OR است. از آنجایی که یک عملگر OR فقط به یک شرط نیاز دارد تا درست باشد، میتوانیم دستور زیر را اجرا کنیم:
در نحو بالا، دستور دوم حتی در صورت عدم موفقیت دستور اول اجرا خواهد شد. توجه داشته باشید که این با استفاده از عملگر && متفاوت است زیرا برای اجرای موفقیت آمیز به اولین دستور نیاز دارد.
مثلا:
در مثال بالا، echo با وجود خطای ناشی از وضوح نام در دستور ping، همچنان اجرا خواهد شد.
در اینجا یک اسکرین شات نشان دهنده این موضوع است:
توجه داشته باشید: با استفاده از آن می توانید چندین دستور را گره بزنید bash اپراتورها برای رسیدن به بهترین نتیجه به عنوان مثال، شما می توانید اجازه دهید تا خواب اجرا شود تنها در صورت پینگ و echo با موفقیت اجرا شود
در مثال بالا، اگر پینگ یا echo شکست می خورد، خواب اجرا نمی شود.
اگر دستور زیر متکی باشد انجام این کار می تواند مفید باشد روی خروجی از دستور قبلی
با استفاده از کد خروج
Bash به ما این امکان را می دهد که کد خروجی دستوری که قبلا اجرا شده است را دریافت کنیم. برای مشاهده کد خروج، دستور را وارد کنید:
برای دستوری که به درستی اجرا شده است 0 و برای دستوری که در مثال بالا یافت نشد 127 دریافت می کنیم.
برای استفاده از کد خروج برای یک اقدام، این کار را انجام می دهیم:
اگر [[$? -eq 0]]؛
سپس
echo “موفقیت”
دیگر:
echo “شکست”
فی
در اسکریپت بالا، بررسی می کنیم که آیا کد خروج برابر با 0 است یا خیر، که نشان می دهد دستور با موفقیت اجرا شده است. اگر درست است، یک دستور را اجرا کنید. در این مورد، echo “موفقیت.” در غیر این صورت، echo “شکست.”
نتیجه
در این آموزش سریع استفاده کردیم bash عملگرها و کدهای خروج برای اجرای یک فرمان در صورت شکست یا موفقیت آمیز بودن دستور قبلی.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 19:20:02