Exit status

هر برنامه‌ای که اجرا می‌شود پس از اتمام یک کد بر میگردونه که به عنوان exit code شناخته می‌شه و بر این اساس میتونیم مطمئن بشیم که برنامه درست اجرا شده یا به خطا خورده و اگر خطا داشته چه نوع خطایی داشته

دیدین بعضی وقتا یه کامند رو اشتباه میزنین و بعدش تو صفحه ترمینالتون بهتون یه اروری میده؟ مثل عکس زیر

خروجیای اشتباه کامند

خب بعد از اینکه یه کامند اجرا شد میتونین ببینین چه عددی برگردونده؛ اگه کامند ?$ echo رو بزنین بهتون اگزیت کد دستور قبلی رو برمیگردونه.

تو عکس بالا بار اول اگزیت کد برنامه‌ی yes که با ctrl+c لغو شده رو میبنیم و بعدش هم دفعه دوم اگزیت کد همون ?$ echo اولی که اجرا شده رو نشون میده

خب تنها چیزی که لازم میدونم بهش اشاره کنم و بدونین اینه که اگه اگزیت‌کد صفر بود ینی درست اجرا شده و هر چیز بجز آن یعنی برنامه حین اجرا به اروری خورده که هر عدد متناظر یک اروره پس لازمه برین بخونین ببینین اگه چه عددی برگردونده شد به چه معنیه... یه سری کدای مهم رو براتون اوردم:

معنی کد عدد به انگلیسی
معنی عدد کد به فارسی
عدد کد

Success

موفقیت

0

General error

خطای عمومی

1

Misuse of shell builtins (e.g., invalid options, etc.)

استفاده نادرست از ساختارهای شل (مثالا گزینه‌های نامعتبر)

2

Command invoked cannot execute

کامند نمی‌تواند اجرا شود

126

"command not found" error

خطای "command not found".

127

Invalid argument to exit

آرگومان برای خروج نامعتبره

128

Script terminated by ctrl+c

اسکریپت توسط ctrl+c خاتمه یافته

130

Exit status out of range

خروج از وضعیت خارج از محدوده

255

نکته: اگزیت‌کد یقینا عددی بین 0 تا 255 خواهد بود

چگونه خودمون برنامه‌ای بنویسیم که اگزیت‌کدی متفاوت تولید کنه؟

کد پایین به زبان پایتون نوشته شده که یه ورودی از شما میگیره و با همون ورودی اگزیت میکنه

کد بعدی هم به زبان c نوشته شده.

کد بعدی هم به زبان bash نوشته شده.

من با این سه تا زبان اوکیم و اینها و میشه گفت تو هر زبان برنامه‌نویسی و اسکریپت‌نویسی چنین چیزی هست و شما با توجه به منطق برنامتون میتونین مشخص کنین که چطور کار کنه.

Last updated