ביצוע החזרת סקריפט Bash עם קודי החזרה שונים ביציאה

Byzw Hhzrt Sqrypt Bash M Qwdy Hhzrh Swnym Byzy H



קודי יציאה הם מספרים שלמים המציינים שסקריפט בוצע בהצלחה. קודים אלו ידועים גם בתור קודי החזרה או סטטוסי יציאה. קודי יציאה בדרך כלל מחזירים אפס עם ביצוע מוצלח ולא אפס עם ביצוע לא מוצלח.

עם זאת, משתמשי סקריפט Bash רבים רוצים לחזור עם קודי החזרה שונים ביציאה, אך הם מקבלים שגיאות. במדריך זה, נסביר את הגישות השונות להחזרת סקריפט Bash עם קודי החזרה שונים ביציאה.

Bash Script חוזר עם קודי החזרה שונים ביציאה

לפני שנעבור לשיטות, בואו נסתכל על קודי היציאה שיש להם משמעויות ספציפיות:







קודי יציאה תיאור
0 הסקריפט מבוצע בהצלחה.
1 הסקריפט מבוצע עם שגיאות כלליות.
שתיים שימוש לא חוקי בחלק מהפקודות המובנות בסקריפט.
126 מציג את השגיאה עבור הפקודה המופעלת ולא ניתן לבצעה.
127 הפקודה לא קיימת בסקריפט.
128 מציג את קוד היציאה מחוץ לטווח או אות שגיאה קטלני.
130 CTRL+C מסיים את הסקריפט.
255 קוד שגיאה כללי של כשל של הסקריפט.

איך מקבלים קודי החזרה ביציאה?

אתה רק צריך לכתוב את 'הד $?' פקודה כדי לקבל את קוד ההחזרה. לדוגמה, ברצונך להשוות בין שני מספרים באמצעות סקריפט Bash הבא:





לאחר שתפעיל את הסקריפט בטרמינל, הפעל את 'echo $?' כדי לקבל את קוד ההחזרה ביציאה:





. / comparison.sh

הֵד $?



ה-'comparison.sh' מבוצע בהצלחה. לכן מסופים מראים אפס כקוד ההחזרה. באופן דומה, תקבל לא אפס כביצוע מוצלח של התסריט. לדוגמה, אם אתה משתמש ב-Ls במקום בפקודה ls בסקריפט, ייתכן שתקבל את הקוד שאינו אפס כקוד ההחזרה:

כפי שניתן לראות בתמונה הקודמת, הטרמינל מציג 127 כקוד ההחזרה מכיוון שהסקריפט הכיל את הפקודה הלא נכונה:

בצע החזרת תסריט Bash עם קודי יציאה שונים

אתה יכול להגדיר באופן ידני את קודי היציאה בסקריפט. לדוגמה, אם אתה רוצה לקבל 255 כקוד היציאה, השתמש בסקריפט הבא:

כעת, הפעל את הסקריפט ולאחר מכן הרץ את 'הד $?' פקודה כדי לקבל 255 כקוד ההחזרה:

. / comparison.sh

הֵד $?

סיכום

זה הכל לגבי קודי היציאה שאתה עשוי לקבל לאחר הפעלת סקריפט Bash בלינוקס. קודי יציאה עוזרים למשתמש לזהות את הסטטוס של סקריפט Bash. אתה יכול גם להגדיר באופן ידני את קודי ההחזרה השונים ולהשתמש בהם. לפיכך, אתה יכול לקבל קוד יציאה שאינו מאפס במקום אפס גם אם הסקריפט מבוצע בהצלחה. אם אתה רוצה לדעת יותר על תסריטי Bash, עיין באתר הרשמי שלנו.