הסקריפט מייצא את http_proxy, מדפיס “enabled” ויוצא. ה-Curl שהופעל לאחר מכן מהמסוף המקורי עדיין מחזיק בסביבה הישנה שלו.

הרצת הסקריפט יצרה תהליך בן. Export הופך ערך לזמין לבנים של אותו תהליך; הוא אינו שולח את הערך בחזרה אל מעטפת האב. הצבת ה-export בתוך bash -c או בתוך גרשיים אחוריים אינה הופכת את היחס הזה.

עבור מתג אינטראקטיבי, פונקציה שמוגדרת במעטפת הנוכחית יכולה לבצע את העבודה המיועדת:

proxy_on() {
    export http_proxy=http://proxy.example.net:8080
    export https_proxy="$http_proxy"
}

החליפו את נקודת הקצה לדוגמה בשירות ה-HTTP שלכם, או במועמד מתוך רשימת פרוקסי HTTP לבקשות ציבוריות מותרות. קראו לפונקציה לאחר טעינת ההגדרה שלה. קובץ מעטפת שנטען הוא דרך נוספת להריץ השמות במעטפת הנוכחית ולא בחדשה.

יישומי GUI קיימים ומסופים אחרים עדיין שומרים על הסביבות שלהם. אם העוזר נועד להפעיל פקודה אחת בלבד דרך פרוקסי, שמירת השינוי בסביבה של אותה פקודה היא לרוב בדיוק ההיקף הנכון.

מאמרים קשורים