Folosiți un proxy diferit pentru o singură comandă shell
Puneți variabilele de proxy înaintea unei comenzi când doriți o rută temporară fără a schimba shell-ul părinte sau a edita fișierele de pornire.
Vreți ca o descărcare să folosească un alt proxy, iar apoi totul să revină la normal. Nu e nevoie să editați fișierul de pornire al shell-ului și să sperați că vă veți aminti să îl anulați.
Pentru o comandă externă într-un shell de tip POSIX, puneți atribuirea înaintea comenzii:
https_proxy=http://proxy.example:8080 curl https://example.com/
Folosiți punctul final HTTP destinat acelei descărcări; lista de proxy HTTP oferă candidați pentru rute publice permise. Atribuirea este furnizată mediului acelei comenzi. Procesele sale copil pot moșteni valoarea, dar atribuirea nu înlocuiește valoarea existentă a shell-ului părinte după terminarea comenzii.
Clientul decide în continuare ce citește
Sintaxa shell creează un mediu; nu impune o rută de rețea. Folosiți numele de variabile pe care le acceptă aplicația. Variabilele de ocolire existente, opțiunile explicite ale comenzii sau configurația proprie a aplicației pot influența în continuare rezultatul.
Documentația de mediu Bash explică comportamentul prefixului de comandă. Comenzile care sunt funcții shell, comenzi încorporate speciale sau sintaxă shell pot avea reguli suplimentare de domeniu, de aceea exemplul simplu de mai sus folosește intenționat un program extern.
Pentru mai multe comenzi, folosiți un subshell
(
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080
command-one
command-two
)
Grupul dintre paranteze rulează cu propriul mediu shell. Înlocuiți numele ilustrative ale comenzilor cu programele pe care intenționați să le rulați. Acest model evită secvența fragilă de a salva o valoare veche, de a o suprascrie și de a o restaura manual după fiecare eșec posibil.
Țineți secretele departe de exemplele copiate în istoricul shell-ului. Amintiți-vă și că sudo poate filtra mediul; o variabilă vizibilă pentru comanda exterioară nu este transmisă automat prin fiecare graniță de privilegii. Domeniul temporar și alegerea reală a proxy-ului rămân întrebări separate.