env

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια


Η env είναι μια εντολή του κελύφους για λειτουργικά συστήματα τύπου Unix. Χρησιμοποιείται για να τυπώνει μια λίστα των μεταβλητών περιβάλλοντος ή να εκτελεί ένα άλλο εργαλείο σε ένα τροποποιημένο περιβάλλον χωρίς να χρειάζεται να αλλαχτεί το τρέχον περιβάλλον που υπάρχει. Με τη χρήση της env, μπορούν να προστεθούν ή να αφαιρεθούν μεταβλητές και να αλλάξουν οι τιμές των μεταβλητών που ήδη υπάρχουν.

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

Παραδείγματα[Επεξεργασία | επεξεργασία κώδικα]

Καθαρισμός του περιβάλλοντος για ένα νέο κέλυφος:

env -i /bin/sh

Εκκίνηση της εφαρμογής xcalc του συστήματος X και εμφάνισή της σε μια άλλη οθόνη:

env DISPLAY=foo.bar:1.0 xcalc

Ένα πολύ απλό σενάριο σε Python:

#!/usr/bin/env python
print "Γεια σου κόσμε."

Σε αυτό το παράδειγμα, το /usr/bin/env είναι η πλήρης διαδρομή της εντολής env. Το περιβάλλον δεν τροποποιείται.

Είναι δυνατό να οριστεί ο διερμηνέας χωρίς χρήση της env, δίνοντας την πλήρη διαδρομή του διερμηνέα python. Το πρόβλημα που μπορεί να προκύψει είναι ότι σε διαφορετικά συστήματα, η ακριβής διαδρομή μπορεί να είναι διαφορετική. Αν χρησιμοποιείται η env όπως στο παράδειγμα, γίνεται αναζήτηση του διερμηνέα και εύρεσή του τη στιγμή που τρέχει το σενάριο. Αυτό κάνει το σενάριο περισσότερο μεταφέρσιμο αλλά έχει τον κίνδυνο να επιλεγεί ο λάθος διερμηνέας γιατί η αναζήτηση γίνεται σε κάθε κατάλογο στις διαδρομές αναζήτησης εκτελέσιμου (executable search path). Ένα άλλο πρόβλημα είναι ότι η θέση της ίδιας της env μπορεί να διαφέρει μεταξύ υπολογιστών.

Εξωτερικοί σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]