ניתן להשתמש בהקשר אופציונלי ב-משתמש פקודות מאקרו, המאפשרות לעקוף את ערך ברירת מחדל עם ערך ספציפי להקשר.
ההקשר מצורף לשם המאקרו; התחביר תלוי אם ההקשר הוא ערך טקסט סטטי:
או ביטוי רגולרי:
שים לב שניתן להגדיר מאקרו עם הקשר ביטוי רגולרי רק ב תצורת מאקרו משתמש. אם הקידומת regex: משמשת במקום אחר בשם ההקשר של מאקרו משתמש, כמו בביטוי טריגר, הוא יטופל כאל הקשר סטטי.
ציטוט בהקשר הוא אופציונלי (ראה גם חשוב הערות).
דוגמאות להקשר מאקרו:
| דוגמה | תיאור |
|---|---|
{$LOW_SPACE_LIMIT} |
מאקרו משתמש ללא הקשר. |
{$LOW_SPACE_LIMIT:/tmp} |
מאקרו משתמש עם הקשר (מחרוזת סטטית). |
{$LOW_SPACE_LIMIT:regex:"^/tmp$"} |
מאקרו משתמש עם הקשר (ביטוי רגולרי). זהה ל-{$LOW_SPACE_LIMIT:/tmp}. |
{$LOW_SPACE_LIMIT:regex:"^/var/log/.*$"} |
מאקרו משתמש עם הקשר (ביטוי רגולרי). מתאים לכל המחרוזות עם קידומת /var/log/. |
ניתן להגדיר פקודות מאקרו משתמש עם הקשר כדי להשיג גמישות יותר סף בביטויי טריגר (בהתבסס על הערכים שאוחזרו על ידי גילוי ברמה נמוכה). לדוגמה, תוכל להגדיר את פקודות המאקרו הבאות:
אז מאקרו גילוי ברמה נמוכה עשוי לשמש כהקשר מאקרו ב-a מפעיל אב טיפוס לגילוי מערכת קבצים רכוב:
לאחר הגילוי יחולו ספים שונים של שטח נמוך מפעילים בהתאם לנקודות ההרכבה שהתגלו או לסוגי מערכת הקבצים. אירועי בעיה ייווצרו אם:
::: הערה אזהרה אל תיצור פקודות מאקרו שונות בהקשר התואמות את אותה מחרוזת כדי למנוע התנהגות לא מוגדרת. :::
מבחינה טכנית, הקשר מאקרו מצוין באמצעות כללים הדומים ל-item key פרמטרים, למעט ההקשר של המאקרו הוא לא מנותח כמספר פרמטרים אם יש תו ,:
" אם ההקשר מכיל } תו או מתחיל בתו ". מרכאות בתוך המירכאות יש לבצע escape של ההקשר עם התו \.\ עצמה אינה בריחה, מה שאומר שזה בלתי אפשרי לקבל הקשר מצוטט המסתיים בתו '' - המאקרו {$MACRO:"a:\b\c\"} אינו חוקי.פקודות המאקרו הבאות כולן שוות ערך, מכיוון שיש להן אותו דבר הקשר: {$MACRO:A}, {$MACRO: A} ו-{$MACRO:"A"}. זה בניגוד עם מפתחות פריט, כאשר 'key[a]', 'key[ a]' ו-'key["a"]' הם זהה מבחינה סמנטית, אבל שונה למטרות ייחודיות.