Πώς μπορώ να προσθέσω έναν κατάλογο στο $PATH
στο Ubuntu και να κάνω τις αλλαγές μόνιμες;
Μια διαδρομή που έχει οριστεί στο .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/
για να επηρεάσετε τη συνεδρία των διαχειριστών οθόνης.
Επεξεργαστείτε το αρχείο .bashrc
στον κεντρικό σας κατάλογο και προσθέστε την ακόλουθη γραμμή:
export PATH="/path/to/dir:$PATH"
Θα χρειαστεί να δώσετε πηγή στο .bashrc
ή να αποσυνδεθείτε/συνδεθείτε (ή να επανεκκινήσετε το τερματικό) για να τεθούν σε ισχύ οι αλλαγές. Για να ανακτήσετε το αρχείο .bashrc
, απλά πληκτρολογήστε
$ source ~/.bashrc
Η προσθήκη στο .bashrc θα λειτουργήσει, αλλά νομίζω ότι ο πιο παραδοσιακός τρόπος για να ορίσετε τις μεταβλητές διαδρομής σας είναι στο .bash_profile προσθέτοντας τις ακόλουθες γραμμές.
PATH=$PATH:/my/path/foo
export PATH
Σύμφωνα με αυτό το νήμα φαίνεται ότι η συμπεριφορά του Ubuntu'είναι ελαφρώς διαφορετική από το RedHat και τους κλώνους.