Πώς να προσθέσετε έναν κατάλογο στο PATH;

Πώς μπορώ να προσθέσω έναν κατάλογο στο $PATH στο Ubuntu και να κάνω τις αλλαγές μόνιμες;

Λύση

Χρησιμοποιώντας το ~/.profile για να ορίσετε το $PATH

Μια διαδρομή που έχει οριστεί στο .bash_profile θα οριστεί μόνο σε ένα κέλυφος σύνδεσης bash (bash -l). Αν βάλετε τη διαδρομή σας στο .profile θα είναι διαθέσιμη σε ολόκληρη τη συνεδρία της επιφάνειας εργασίας σας. Αυτό σημαίνει ότι ακόμα και το metacity θα το χρησιμοποιεί.

Για παράδειγμα ~/.profile:

if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi

Btw, μπορείτε να ελέγξετε τη μεταβλητή PATH μιας διεργασίας κοιτάζοντας το περιβάλλον της στο /proc/[pid]/environ (αντικαταστήστε το [pid] με τον αριθμό από το ps axf). Π.χ. χρησιμοποιήστε grep -z "^PATH" /proc/[pid]/environ

Σημείωση:

Το bash ως κέλυφος σύνδεσης δεν αναλύει το .profile αν υπάρχει είτε το .bash_profile είτε το .bash_login. Από το man bash :

αναζητά τα ~/.bash_profile, ~/.bash_login και ~/.profile, σε αυτό το σειρά, και διαβάζει και εκτελεί εντολές από την πρώτη που υπάρχει και είναι αναγνώσιμη.

Δείτε τις απαντήσεις παρακάτω για πληροφορίες σχετικά με το .pam_environment, ή το .bashrc για διαδραστικά κελύφη χωρίς login, ή ορίστε την τιμή παγκοσμίως για όλους τους χρήστες βάζοντας ένα σενάριο στο /etc/profile.d/ ή χρησιμοποιήστε το /etc/X11/Xsession.d/ για να επηρεάσετε τη συνεδρία των διαχειριστών οθόνης.

Σχόλια (11)

Επεξεργαστείτε το αρχείο .bashrc στον κεντρικό σας κατάλογο και προσθέστε την ακόλουθη γραμμή:

export PATH="/path/to/dir:$PATH"

Θα χρειαστεί να δώσετε πηγή στο .bashrc ή να αποσυνδεθείτε/συνδεθείτε (ή να επανεκκινήσετε το τερματικό) για να τεθούν σε ισχύ οι αλλαγές. Για να ανακτήσετε το αρχείο .bashrc, απλά πληκτρολογήστε

$ source ~/.bashrc
Σχόλια (8)

Η προσθήκη στο .bashrc θα λειτουργήσει, αλλά νομίζω ότι ο πιο παραδοσιακός τρόπος για να ορίσετε τις μεταβλητές διαδρομής σας είναι στο .bash_profile προσθέτοντας τις ακόλουθες γραμμές.

PATH=$PATH:/my/path/foo
export PATH

Σύμφωνα με αυτό το νήμα φαίνεται ότι η συμπεριφορά του Ubuntu'είναι ελαφρώς διαφορετική από το RedHat και τους κλώνους.

Σχόλια (5)