שימוש בפרוקסי אחר לפקודת shell אחת
הוסיפו משתני פרוקסי לפני פקודה כשאתם רוצים מסלול זמני בלי לשנות את ה-shell האב או לערוך קבצי אתחול.
אתם רוצים שהורדה אחת תשתמש בפרוקסי אחר, ואחר כך שהכול יחזור לשגרה. אין צורך לערוך את קובץ האתחול של ה-shell ולקוות שתזכרו לבטל את השינוי.
עבור פקודה חיצונית ב-shell בסגנון POSIX, שימו את ההשמה לפני הפקודה:
https_proxy=http://proxy.example:8080 curl https://example.com/
השתמשו בנקודת הקצה של HTTP המיועדת לאותה הורדה; רשימת פרוקסי HTTP מציעה מועמדים למסלולים ציבוריים מותרים. ההשמה ניתנת לסביבה של אותה פקודה. תהליכי הבן שלה יכולים לרשת את הערך, אך ההשמה אינה מחליפה את הערך הקיים של ה-shell האב לאחר שהפקודה מסתיימת.
הלקוח עדיין מחליט מה לקרוא
תחביר ה-shell יוצר סביבה; הוא אינו כופה מסלול רשת. השתמשו בשמות המשתנים שהאפליקציה תומכת בהם. משתני עקיפה קיימים, אפשרויות פקודה מפורשות או התצורה של האפליקציה עצמה עשויים עדיין להשפיע על התוצאה.
תיעוד הסביבה של Bash מסביר את התנהגות הקידומת לפקודה. פקודות שהן פונקציות shell, פקודות מובנות מיוחדות או תחביר shell עשויות להיות בעלות כללי היקף נוספים, ולכן הדוגמה הפשוטה שלמעלה משתמשת בכוונה בתוכנית חיצונית.
כמה פקודות — השתמשו ב-subshell
(
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080
command-one
command-two
)
הקבוצה בסוגריים פועלת עם סביבת shell משלה. החליפו את שמות הפקודות המשמשים לדוגמה בתוכניות שאתם מתכוונים להריץ. דפוס זה נמנע מהרצף השברירי של שמירת ערך ישן, דריסתו ושחזורו ביד לאחר כל כשל אפשרי.
הרחיקו סודות מדוגמאות שמועתקות להיסטוריית ה-shell. זכרו גם ש-sudo יכול לסנן את הסביבה; משתנה שנראה לפקודה החיצונית אינו מועבר אוטומטית דרך כל גבול הרשאות. היקף זמני ובחירת הפרוקסי בפועל נשארים שאלות נפרדות.