Θέλετε μία λήψη να χρησιμοποιεί διαφορετικό διαμεσολαβητή και μετά όλα να επιστρέψουν στο κανονικό. Δεν χρειάζεται να επεξεργαστείτε το αρχείο εκκίνησης του shell σας και να ελπίζετε ότι θα θυμηθείτε να το ανατρέψετε.

Για μια εξωτερική εντολή σε shell τύπου POSIX, βάλτε την ανάθεση πριν από την εντολή:

https_proxy=http://proxy.example:8080 curl https://example.com/

Χρησιμοποιήστε το τελικό σημείο HTTP που προορίζεται για αυτή τη λήψη· η λίστα διαμεσολαβητών HTTP προσφέρει υποψηφίους για επιτρεπόμενες δημόσιες διαδρομές. Η ανάθεση παρέχεται στο περιβάλλον αυτής της εντολής. Οι θυγατρικές της διεργασίες μπορούν να κληρονομήσουν την τιμή, αλλά η ανάθεση δεν αντικαθιστά την υπάρχουσα τιμή του γονικού shell μετά την έξοδο της εντολής.

Ο πελάτης εξακολουθεί να αποφασίζει τι θα διαβάσει

Η σύνταξη του shell δημιουργεί περιβάλλον· δεν επιβάλλει διαδρομή δικτύου. Χρησιμοποιήστε τα ονόματα μεταβλητών που υποστηρίζει η εφαρμογή. Υπάρχουσες μεταβλητές παράκαμψης, ρητές επιλογές εντολής ή η δική της διαμόρφωση της εφαρμογής μπορούν ακόμη να επηρεάσουν το αποτέλεσμα.

Η τεκμηρίωση περιβάλλοντος του Bash εξηγεί τη συμπεριφορά του προθέματος εντολής. Εντολές που είναι συναρτήσεις shell, ειδικές ενσωματωμένες εντολές ή σύνταξη shell μπορεί να έχουν πρόσθετους κανόνες εμβέλειας, γι' αυτό το απλό παράδειγμα παραπάνω χρησιμοποιεί σκόπιμα εξωτερικό πρόγραμμα.

Για πολλές εντολές, χρησιμοποιήστε υποκέλυφος

(
  export http_proxy=http://proxy.example:8080
  export https_proxy=http://proxy.example:8080
  command-one
  command-two
)

Η ομάδα σε παρένθεση εκτελείται με δικό της περιβάλλον shell. Αντικαταστήστε τα ενδεικτικά ονόματα εντολών με τα προγράμματα που σκοπεύετε να εκτελέσετε. Αυτό το μοτίβο αποφεύγει την εύθραυστη ακολουθία αποθήκευσης μιας παλιάς τιμής, αντικατάστασής της και χειροκίνητης επαναφοράς μετά από κάθε πιθανή αποτυχία.

Κρατήστε τα μυστικά έξω από παραδείγματα που αντιγράφονται στο ιστορικό του shell. Θυμηθείτε επίσης ότι το sudo μπορεί να φιλτράρει το περιβάλλον· μια μεταβλητή ορατή στην εξωτερική εντολή δεν περνά αυτόματα από κάθε όριο προνομίων. Η προσωρινή εμβέλεια και η πραγματική επιλογή διαμεσολαβητή παραμένουν ξεχωριστά ζητήματα.

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