Powershell
הקדמה ל-powershell¶
פאוורשל היא shell program מאוד שונה מבאש ושאר תוכנות POSIX או BSD.
באש ודומותיה הן תוכנות ממוקדות טקסט, שמעבירות text output באמצעות pipes ומשתמשות בהרבה מאוד כלים משלימים שיש להם מטרה ממוקדת (grep, awk, ls - הכל סקריפטים שיושבים ב-path).
לעומתן, powershell היא תוכנה שמתעסקת ב-structured objects (למשל אובייקטים של .NET).
ה-syntax שלה יותר מזכיר שפת תכנות כמו פיית'ון או C, כאשר הפקודות הן צמדים של verb-noun, למשל get-process
, set-item
וכו'.
גם פאוורשל משתמשת בפייפים (|), אבל היא "מגלגלת" אובייקטים ולא טקסט, ולכן יש לה מטא-דאטה עשירה ואין צורך לעשות parsing למידע.
פאוורשל היא קרוס-פלטפורם ואפשר להשתמש ב-powershell core (מבוסס על משהו בשם .NET CORE) גם בלינוקס, מאק וכו'.
משמשת בפועל בעיקר לאוטומציות בסביבת Azure או CI/CD PIPELINE
פקודות¶
לסגור תהליך:¶
kill -n jdownloader2 שזה alias ל end-process -name processname
לקבל רשימה של תהליכים רצים¶
get-process
Get-Process -Name emacs -ErrorAction SilentlyContinue
בשביל לחפש לפי שם ספציפי (הדגל השני כדי שיחזיר כלום במקום שגיאה - אפשר גם בלי)
לפתוח קובץ זה קצת חרא:¶
start -filepath "filename.extension" או start-process -filepath "filename.extension"