27Jul
כאשר אנו מתרחק פשוט פועל פקודות ולעבור לכתיבת סקריפטים מלא blown, תצטרך מקום זמני לאחסן נתונים.זה המקום שבו משתנים לבוא.
הקפד לקרוא את המאמרים הקודמים בסדרה:
- למד כיצד להפוך את Windows עם PowerShell
- למידה להשתמש Cmdlets ב PowerShell
- למידה כיצד להשתמש אובייקטים PowerShell
- למידה עיצוב, סינון והשוואה בPowerShell
- למד להשתמש ב- RemSheing ב- PowerShell
- באמצעות PowerShell כדי לקבל מידע על המחשב
- עבודה עם אוספים ב- PowerShell
ולהישאר מעודכן עבור שאר הסדרות במשך כל השבוע.
משתנים
רוב שפות התכנות מאפשרות שימוש במשתנים, שהם פשוט מכולות המחזיקות בערכים.ב PowerShell, גם לנו יש משתנים והם ממש קל לשימוש.הנה איך ליצור משתנה בשם "FirstName" ולתת לו את הערך "טיילור".
$ FirstName = "טיילור"
הדבר הראשון שרוב האנשים שואלים הוא למה אנחנו שמים סימן דולר מול שם המשתנים, וזה בעצם שאלה טובה מאוד.באמת, סימן הדולר הוא רק רמז קצת לקליפה שאנחנו רוצים לגשת לתוכן של המשתנה( לחשוב מה בתוך המיכל) ולא את המכולה עצמה.ב PowerShell, שמות המשתנים אינם כוללים את סימן הדולר, כלומר בדוגמה לעיל המשתנים שם הוא למעשה "FirstName".
ב- PowerShell, תוכל לראות את כל המשתנים שיצרת במשתנה PSDrive.
gci variable:
מה שאומר שאתה יכול למחוק משתנה מהקליפה בכל עת מדי:
הסרת פריט משתנה: \ FirstName
משתנים אינם חייבים להכיל אובייקט אחד;אתה יכול בקלות לאחסן אובייקטים מרובים במשתנה.לדוגמה, אם אתה רוצה לאחסן רשימה של תהליכים הפועלים במשתנה, אתה יכול פשוט להקצות לו את הפלט של Get-Process.
$ Proc = Get-Process
הטריק להבנה זו הוא לזכור כי הצד הימני של סימן השווה מוערך תמיד תחילה.זה אומר שאתה יכול לקבל צינור שלם בצד ימין אם אתה רוצה.
$ CPUHogs = Get-Process |מיין מעבד - יורד |בחר -First 3
המשתנה CPUHogs יכיל כעת את שלושת התהליכים הפועלים באמצעות ה- CPU.
כאשר יש לך משתנה מחזיק אוסף של אובייקטים, יש כמה דברים להיות מודעים.לדוגמה, קריאה לשיטה על המשתנה תגרום לה להיקרא על כל אובייקט באוסף.
$ CPUHogs. Kill()
מה יהרוג את כל שלושת האוסף באוסף.אם ברצונך לגשת לאובייקט יחיד במשתנה, עליך לטפל בו כמו מערך.
$ CPUHogs [0]
פעולה זו תעניק לך את האובייקט הראשון באוסף.
אל תיתפס!
משתנים ב- PowerShell מוקלדים בצורה חלשה על ידי ברירת המחדל, כלומר, הם יכולים להכיל כל סוג של נתונים, זה נראה לתפוס את comers חדשים PowerShell כל הזמן!
$ a = 10
$ b = '20'
אז יש לנו שני משתנים, אחד מכיל מחרוזת והשני מספר שלם.אז מה קורה אם תוסיף אותם?זה באמת תלוי באיזה סדר אתה מוסיף אותם.
$ a + $ b = 30
בעוד
$ b $ $ a = 2010
בדוגמה הראשונה, האופראנד הראשון הוא שלם, $ a, כך PowerShell חושב חושב כיאתה מנסה לעשות מתמטיקה ולכן מנסה להמיר כל operands אחרים לתוך מספרים שלמים גם כן.עם זאת, בדוגמה השנייה האופראנד הראשון הוא מחרוזת, כך PowerShell פשוט ממיר את שאר האופנדים על מחרוזות ומשרשר אותם.סקריפטים מתקדמים יותר למנוע את זה סוג של gotcha ידי הליהוק המשתנה לסוג שהם מצפים.
[int] $ מספר = 5
[int] $ מספר = '5'
האמור לעיל יביא את המשתנה 'מספר' המכיל אובייקט שלם עם ערך של 5. קלט
כי PowerShell נועד להפוך את הדברים לאוטומטיים, אתה רוצה להימנע מהנחיית משתמשים לקבלת מידע בכל מקום אפשרי.עם זאת, יש הולך להיות פעמים שבו אתה לא יכול למנוע את זה, ועל אותם פעמים יש לנו את ה- cmdlet קרא המארח.השימוש בו הוא פשוט מאוד:
$ FirstName = Read-Host -Prompt 'הזן את שמך הפרטי'
כל מה שתזין יישמר במשתנה.פלט
הוא פשוט כמו כתיבה עם כתיבת cmdlet כתיבה.
כתוב פלט "כיצד סלעי חנון!"
הצטרף אלינו מחר שבו אנו לקשור את כל מה שלמדנו יחד!