הרצת proxy-on.sh לא תגדיר מחדש את מעטפת האב
בחרו פונקציית מעטפת או קובץ שנטען כאשר עוזר פרוקסי אמור לשנות את הסביבה של המעטפת הנוכחית.
הסקריפט מייצא את 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 קיימים ומסופים אחרים עדיין שומרים על הסביבות שלהם. אם העוזר נועד להפעיל פקודה אחת בלבד דרך פרוקסי, שמירת השינוי בסביבה של אותה פקודה היא לרוב בדיוק ההיקף הנכון.