איך להשתמש בפקודת היציאה של PowerShell וחברים

האם אי פעם חשבת, "מה הדרך הטובה ביותר לסיים סקריפט או לצאת מפקודה ב־PowerShell?" האם ההפקודה PowerShell exit תסיים את ההפעלה של PowerShell? איך להחזיר קודי סיום מותאמים אישית? כל זה ועוד תמצא כאן!

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

בואו נתחיל לסגור סשנים וסקריפטים של PowerShell!

דרישות מוקדמות

כדי להמשיך, וודא שיש לך את Windows PowerShell או PowerShell Core מותקנים על המחשב שלך. הדוגמאות במאמר זה ישתמשו ב־PowerShell 7.1.4.

סיום המסוף והסקריפטים עם פקודת היציאה של PowerShell

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

בוא נתרגל! פתח סשן של PowerShell, הקלד exit ולחץ על מקש Enter. מסוף PowerShell יסגר מיידית.

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

העתק והדבק את הקוד למטה לתוך Notepad ושמור את התסריט בשם test.ps1 בתיקייה C:\Temp. הרץ את קובץ התסריט באמצעות הפקודה .\text.ps1 כפי שמוצג בלמטה. שים לב שבמקום של PowerShell לסגור את ההפעלה, הוא סוגר את התסריט ומחזיר שליטה להוראת הקונסול הנוכחית.

# test.ps1
Write-Host "Quick! Read this before the PowerShell session closes!!"
Start-Sleep -Seconds 2
Exit
The exit keyword stopped the script execution, but the console is still running

קבלת וספק משוב עם קודי יציאה

הפקודה exit מועילה במצבים בהם תסריט או פונקציה צריכים להפעיל קוד וליצוא. אך אין לך אינדיקציה אם התסריט רץ בהצלחה או לא.

כאשר PowerShell מפעיל את הפקודה האחרונה בתסריט, הוא שומר את קוד היציאה של אותו פקודה במשתנה $LASTEXITCODE .

קיימים שני קודי יציאה ברירת מחדל:

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

טווח הערכים עבור קוד היציאה תלוי בפלטפורמה. ב־Windows, ניתן להשתמש בכל מספרים שלמים מסומנים ב־32 ביט. ב־Unix, רק מספרים שלמים חיוביים ב־8 ביט מותרים.

כדי לצאת מ־PowerShell עם קוד יציאה מותאם אישית, ניתן לספק את קוד היציאה כארגומנט למילת המפתח exit.

העתק והדבק את הקוד למטה בקובץ הקיים test.ps1 והפעל את הסקריפט באמצעות הפקודה .\Test.ps1. בדוק את תוכן המשתנה $LASTEXITCODE. באמצעות הגדרת PowerShell לצאת עם קוד יציאה של 55, היא עשתה זאת, כפי שניתן לראות למטה.

Function foo {
    Write-Output "This foo function will be shown"
    Exit 55 # < -- שימוש בקוד יציאה מותאם אישית
}

foo
Returning a custom exit code

שבירת לולאות עם Break

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

מילת המפתח break מפסיקה את הלולאה ב־PowerShell. לאחר break, הקוד ממשיך להרצות באיטרציה הבאה.

ההפסקות שימושיות בלולאות PowerShell כמו foreach, while, do-while, ו־הצהרות switch מכיוון שניתן לשלוט באיזו נקודה הקוד שלך יעצור לפני שהקוד שלך מסתיים.

בואו נתרגל לצאת מלולאות. למטה תראו קטע קוד עם לולאת for. הלולאה for הייתה מעבור עשר פעמים אם לא היה ל־break בתוך. המילת מפתח break תופעל כאשר האיטרטור שווה לשמונה. לאחר שפוורשל מוצאת את מילת המפתח break, היא עוצרת את הלולאה.

for($i=1; $i -le 10; $i++) {
	if($i -eq 8) { break }
	$i
}

תוכלו לראות למטה שפוורשל עוצרת את הלולאה כאשר i שווה ל־8. הקוד לא הולך ל־9. כעת ברצונכם פותרים בהצלחה לחוצים מלולאת for.

Breaking a for loop

הפניית ביצועי הקוד עם Return

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

בוא נראה זאת בפועל עם דוגמה: בניית פונקציה לזוג מילים. העתק את הקוד למסגרת ה-Powershell שלך:

function WordPairing ($a,$b) {

	return "$a" + "$b" # <-- שליפת שתי מילים למילה אחת

}

$output = WordPairing taco cat

Write-Output "$output is a strange pairing of words."

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

Redirecting code execution with the return keyword

אתה מפנה את המשתנה $output שנוצר על ידי פונקציית WordPairing בחזרה למקום בו נקרא ל-$output.

סיכום

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

עכשיו שאתה יודע שיש לך דרכים שונות לסיים את ישיבות ה-Powershell שלך, איך אתה מתכוון לשפר את הסקריפטים שלך עם הידע הזה?

Source:
https://adamtheautomator.com/powershell-exit/