Το σενάριο εξάγει το http_proxy, εκτυπώνει “enabled” και εξέρχεται. Το Curl που ξεκινά έπειτα από το αρχικό τερματικό έχει ακόμη το παλιό του περιβάλλον.

Η εκτέλεση του σεναρίου δημιούργησε θυγατρική διεργασία. Το export καθιστά μια τιμή διαθέσιμη στα παιδιά αυτής της διεργασίας· δεν στέλνει την τιμή πίσω στο γονικό shell. Η τοποθέτηση του export μέσα σε bash -c ή σε backticks δεν αντιστρέφει αυτή τη σχέση.

Για έναν διαδραστικό διακόπτη, μια συνάρτηση που ορίζεται στο τρέχον shell μπορεί να κάνει την επιδιωκόμενη εργασία:

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

Αντικαταστήστε το endpoint του παραδείγματος με την υπηρεσία HTTP σας ή με έναν υποψήφιο από τη λίστα proxy HTTP για επιτρεπόμενα δημόσια αιτήματα. Καλέστε τη συνάρτηση αφού φορτώσετε τον ορισμό της. Ένα φορτωμένο αρχείο shell είναι ένας άλλος τρόπος να εκτελείτε αναθέσεις στο τρέχον shell αντί σε ένα νέο.

Οι υπάρχουσες εφαρμογές GUI και άλλα τερματικά εξακολουθούν να κρατούν τα δικά τους περιβάλλοντα. Αν το βοηθητικό προορίζεται να εκκινήσει μόνο μία εντολή μέσω proxy, το να κρατήσετε την αλλαγή στο περιβάλλον αυτής της εντολής είναι συχνά ακριβώς το σωστό εύρος.

Σχετικά άρθρα