Μετάβαση στο περιεχόμενο

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 μπορεί να διαφέρει μεταξύ υπολογιστών.

Εξωτερικοί σύνδεσμοι

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