ניתן להשתמש בהקשר אופציונלי ב-משתמש פקודות מאקרו, המאפשרות לעקוף את ערך ברירת מחדל עם ערך ספציפי להקשר.
ההקשר מצורף לשם המאקרו; התחביר תלוי אם ההקשר הוא ערך טקסט סטטי:
או ביטוי רגולרי:
שים לב שניתן להגדיר מאקרו עם הקשר ביטוי רגולרי רק ב תצורת מאקרו משתמש. אם הקידומת 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"]' הם זהה מבחינה סמנטית, אבל שונה למטרות ייחודיות.