זוהי הפקודה envposix שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות החינמיות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS.
תָכְנִית:
שֵׁם
env - הגדרת הסביבה להפעלת פקודה
תַקצִיר
env [-י] [שם=ערך]... [תועלת [טענה...]]
תיאור
השמיים env חברת החשמל צריכה להשיג את הסביבה הנוכחית, לשנות אותה בהתאם
ארגומנטים, לאחר מכן הפעל את כלי השירות ששמו נקרא על ידי תועלת אופרנד עם השינוי
סביבה.
ארגומנטים אופציונליים יועברו אל תועלת.
אם לא תועלת אם האופרנד צוין, הסביבה המתקבלת תיכתב אל
פלט סטנדרטי, עם אחד שם=ערך זוג לכל שורה.
אם הטענה הראשונה היא '-', התוצאות אינן מוגדרות.
אפשרויות
השמיים env כלי השירות יתאים לנפח הגדרות הבסיס של POSIX.1-2008, סעיף
12.2, שירות תחביר הנחיות, למעט השימוש הלא מוגדר ב '-'.
האפשרויות הבאות יתמכו:
-י להפעיל תועלת עם הסביבה בדיוק שצוינה על ידי הארגומנטים;
יש להתעלם לחלוטין מסביבה תורשתית.
אופרנדים
האופרנדים הבאים יהיו נתמכים:
שם=ערך
ארגומנטים של הטופס שם=ערך ישנה את סביבת הביצוע, ו
יוצב בסביבה המורשתית לפני ה- תועלת מופעלת.
תועלת שם כלי השירות שיופעל. אם ה- תועלת שמות אופרנדים כל אחד מה
כלי עזר מובנים מיוחדים ב סעיף 2.14, מיוחד מובנה תשתיות, ה
התוצאות אינן מוגדרות.
טענה מחרוזת שיש להעביר כארגומנט עבור כלי השירות המופעל.
STDIN
לא בשימוש.
קלט קבצים
אין.
הסביבה וריאציות
משתני הסביבה הבאים ישפיעו על הביצוע של env:
שפה ספק ערך ברירת מחדל עבור משתני הבינאום שאינם מוגדרים או
ריק. (ראה את הכרך של הגדרות הבסיס של POSIX.1-2008, סעיף 8.2,
בינאום משתנים בעד הבכורה של בינאום
משתנים המשמשים לקביעת הערכים של קטגוריות מקומיות.)
LC_ALL אם מוגדר לערך מחרוזת לא ריקה, עוקף את הערכים של כל האחרים
משתני בינאום.
LC_CTYPE קבע את המקום לפרשנות של רצפים של בתים של נתוני טקסט
כתווים (לדוגמה, בייט בודד לעומת תווים מרובי בייטים ב
טיעונים).
LC_MESSAGES
קבע את המקום שבו יש להשתמש כדי להשפיע על הפורמט והתוכן של
הודעות אבחון שנכתבו לפי שגיאת תקן.
NLSPATH קבע את המיקום של קטלוגי הודעות לעיבוד של LC_MESSAGES.
נתיב קבע את מיקום ה- תועלת, כמתואר בהגדרות הבסיס
כרך של POSIX.1-2008, הפרק 8, סביבה משתנים. אם נתיב מוגדר
בתור שם=ערך אופרנד ל env, ה ערך הנתון ישמש בחיפוש אחר
תועלת.
אסינכרוני אירועים
בְּרִירַת מֶחדָל.
STDOUT
אם לא תועלת אופרנד מצוין, כל אחד מהם שם=ערך זוג בסביבה המתקבלת
ייכתב בצורה:
"%s=%s\n", <שם>,ערך>
אם תועלת האופרנד מצוין, ה- env כלי השירות לא יכתוב לפלט סטנדרטי.
STDERR
השגיאה הסטנדרטית תשמש רק עבור הודעות אבחון.
תפוקה קבצים
אין.
מורחבים תיאור
אין.
יְצִיאָה סטָטוּס
If תועלת מופעל, מצב היציאה של env יהיה סטטוס היציאה של תועלת;
אחרת ה env שירות תצא עם אחד מהערכים הבאים:
0 env כלי השירות הושלם בהצלחה.
1−125 אירעה שגיאה ב- env תוֹעֶלֶת.
126 כלי השירות שצוין על ידי תועלת נמצא אך לא ניתן היה להפעילו.
127 כלי השירות שצוין על ידי תועלת לא ניתן למצוא.
השלכות OF שגיאות
בְּרִירַת מֶחדָל.
השמיים הבא סעיפים יש לו אִינפוֹרמָטִיבִי.
בקשה נוהג
השמיים הפקודה, env, נחמד, nohup, זמן, ו קסארגס צוינו כלי עזר לשימוש ביציאה
קוד 127 אם מתרחשת שגיאה כדי שיישומים יוכלו להבחין בין "כשל במציאת א
כלי השירות'' מתוך ``כלי השירות שהופעל יצא עם ציון שגיאה''. הערך 127 היה
נבחר משום שאינו משמש בדרך כלל למשמעויות אחרות; רוב כלי השירות משתמשים בערכים קטנים
עבור ``תנאי שגיאה רגילים'' והערכים מעל 128 ניתן לבלבל עם סיום
עקב קבלת אות. הערך 126 נבחר באופן דומה כדי לציין זאת
ניתן היה למצוא את כלי השירות, אך לא להפעיל אותו. סקריפטים מסוימים מייצרים שגיאה משמעותית
הודעות המבדילות בין המקרים 126 ל-127. ההבחנה בין קודי יציאה 126 ו
127 מבוסס על תרגול KornShell שמשתמש ב-127 כאשר כל הניסיונות לעשות זאת Exec השירות
להיכשל עם [ENOENT], ומשתמש ב-126 כאשר כל ניסיון לעשות זאת Exec השירות נכשל עבור כל אחד אחר
סיבה.
יישומים היסטוריים של ה- env שימוש בתועלת execvp() או execlpפונקציות ()
מוגדר בנפח System Interfaces של POSIX.1‐2008 כדי להפעיל את כלי השירות שצוין;
זה מספק ביצועים טובים יותר ומונע ממשתמשים להצטרך לברוח מדמויות עם
משמעות מיוחדת למעטפת. לכן, פונקציות מעטפת, תוספות מובנות מיוחדות ותוספות מובנות
שמסופקים רק על ידי המעטפת לא נמצאים.
דוגמאות
הפקודה הבאה:
env -י נתיב=/mybin:"$נתיב" $(getconf V7_ENV) mygrep xyz המסמך שלי
מפעיל את הפקודה mygrep עם חוויה נתיב הערך כערך היחיד בסביבתו
מלבד כל משתנה הנדרש על ידי המימוש לצורך תאימות. במקרה זה,
נתיב משמש לאיתור mygrep, אשר צפוי להתגורר ב /mybin.
Rationalale
כמו בכל כלי עזר אחרים המפעילים כלי עזר אחרים, כרך זה של POSIX.1‐2008 בלבד
מציין מה env עושה עם קלט סטנדרטי, פלט סטנדרטי, שגיאת תקן, קבצי קלט,
וקבצי פלט. אם כלי עזר מבוצע, הוא אינו מוגבל על ידי המפרט של
קלט ופלט על ידי env.
השמיים -י אפשרות נוספת כדי לאפשר את הפונקציונליות של מה שהוסר - אפשרות בצורה
תואם להנחיות תחביר השירות. ניתן ליצור קוד שאינו תואם
סביבה באמצעות ה- -י אפשרות, מכיוון שהיא עשויה להסיר משתני סביבה הנדרשים על ידי
יישום לצורך תאימות. הפעולות הבאות ישמרו משתני סביבה אלה כ-
כמו גם לשמר את נתיב עבור שירותים תואמים:
IFS='
'
# השמיים קודם ערך צריך be .
# לקבוע IFS ל שלה ברירת מחדל ערך.
קבוצה −f
# השבתת הרחבת שם הנתיב
\unalias −a
# בטל את ההגדרה של כל הכינויים האפשריים.
# שים לב ש-unalias הוא בריחה כדי למנוע כינוי
# בשימוש עבור כינוי.
# שלב זה אינו הכרחי לחלוטין, מכיוון שכינויים אינם עוברים בתורשה,
# ומשתנה הסביבה ENV משמש רק על ידי קונכיות אינטראקטיביות,
# הדרך היחידה שבה כינויים יכולים להתקיים בסקריפט היא אם הוא מגדיר אותם
# עצמו.
בטל הגדרה -f env getconf
# ודא ש-env ו-getconf אינן פונקציות משתמש.
env −i פקודה $(getconf V7_ENV) PATH="$(getconf PATH)"
יש שהציעו זאת env מיותר מכיוון שאותה השפעה מושגת על ידי:
שם = ערך ... תועלת [ ויכוח... ]
הדוגמה שקולה ל env כאשר משתנה סביבה נוסף ל-
הסביבה של הפקודה, אך לא כאשר הסביבה מוגדרת לערך הנתון.
השמיים env utility גם כותב את הסביבה הנוכחית אם היא מופעלת ללא ארגומנטים.
יש פונקציונליות מספקת מעבר למה שמספקת הדוגמה כדי להצדיק הכללה של
env.
FUTURE כיוונים
אין.
השתמש ב-envposix באופן מקוון באמצעות שירותי onworks.net