Comment puis-je ajouter un répertoire à $PATH
dans Ubuntu et rendre les modifications permanentes?
environment-variables
justingrif
la source
la source
Réponses:
Utiliser ~ / .profile pour définir $ PATH
Un chemin d'accès défini
.bash_profile
ne sera défini que dans un shell de connexion bash (bash -l
). Si vous indiquez votre chemin,.profile
il sera disponible pour votre session de bureau complète. Cela signifie que même la métacité l'utilisera.Par exemple
~/.profile
:En passant, vous pouvez vérifier la variable PATH d'un processus en regardant son environnement dans
/proc/[pid]/environ
(remplacez [pid] par le nombre à partir deps axf
). Par exemple utilisergrep -z "^PATH" /proc/[pid]/environ
Remarque:
bash
en tant que shell de connexion ne pas analyser.profile
si l'un.bash_profile
ou l' autre.bash_login
existe. Deman bash
:Consultez les réponses ci-dessous pour obtenir des informations sur les shells interactifs autres que les utilisateurs
.pam_environment
, ou.bashrc
pour les shells interactifs, ou définissez la valeur de manière globale pour tous les utilisateurs en insérant un script/etc/profile.d/
ou/etc/X11/Xsession.d/
en affectant leur impact sur la session des gestionnaires d'affichage.la source
PATH="$HOME/bin:$PATH"
Alors je l'ajoute?Editez
.bashrc
dans votre répertoire personnel et ajoutez la ligne suivante:Vous devrez vous
.bashrc
connecter à votre compte ou vous déconnecter / vous connecter (ou redémarrer le terminal) pour que les modifications prennent effet. Pour trouver votre source.bashrc
, tapez simplementla source
.bashrc
"? Comment faites-vous "redémarrer le terminal"?.bashrc
n’est pas le bon endroit pour définir des variables d’environnement. Ils devraient aller.profile
ou.pam_environment
. Voir mywiki.wooledge.org/DotFiles. .bashrc
pas.bashrc
:) ousource .bashrc
d'ailleursL'emplacement recommandé pour définir des variables d'environnement permanentes à l'échelle du système s'appliquant à tous les utilisateurs est le suivant:
(qui est où la valeur par défaut
PATH
est définie)Cela fonctionnera dans le bureau ou la console, gnome-terminal ou TTY, beau temps mauvais temps;)
Pour éditer, appuyez sur Alt+ F2et tapez:
(ou ouvrez le fichier en utilisant
sudo
dans votre éditeur de texte préféré)Pour effectuer des changements, exécutez
. /etc/environment
. Comme ce fichier n'est qu'un simple script, il s'exécutera et affectera le nouveau chemin d'accès à laPATH
variable d'environnement. Pour vérifier exécuter env et voir laPATH
valeur dans la liste.Apparenté, relié, connexe:
la source
source /etc/environment
pour recharger les changementsJe pense que la manière canonique dans Ubuntu est la suivante:
créer un nouveau fichier sous
/etc/profile.d/
ajouter là:
et lui donner la permission d'exécution
la source
Pour les débutants complets (comme moi) qui sont plus à l'aise avec l'interface graphique:
$HOME
dossier..profile
et cliquez sur Ouvrir avec l'éditeur de texte .PATH="$PATH:/my/path/foo"
..profile
).la source
$PATH:
bit qui inclut la définition existante de PATHPour les variables d'environnement persistantes disponibles pour des utilisateurs particuliers uniquement. Je recommande fortement la documentation officielle Ubuntu.
https://help.ubuntu.com/community/EnvironmentVariables
En me référant à la documentation ci-dessus, j'ai configuré les outils de chemin d'accès du SDK Android par:
~/.pam_environment
fichier dans le répertoire personnel.PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
.la source
Mettez cette ligne dans votre
~/.bashrc
fichier.Il est recherché chaque fois que vous ouvrez un terminal
EDIT : Sur la base des commentaires ci - dessous, pour un cadre plus général qui s'appliquera à toutes les coquilles (y compris quand vous frappez Alt- F2dans l' unité), ajoutez la ligne à votre
~/.profile
fichier. Cependant, vous ne devriez probablement pas faire les deux, car le chemin sera ajouté deux fois à votrePATH
environnement si vous ouvrez un terminal.la source
$HOME/.profile
les paramètres personnels ou/etc/profile
pour tous les utilisateurs. Mais si cela n’est nécessaire que pour Bash, je suppose que l’un ou l’autre fonctionnera.~/.bashrc
, il ne sera disponible que dans les terminaux ouverts. Par exemple, si vous appuyez sur Alt + F2 et essayez d'exécuter une commande à partir de ce répertoire, il ne la trouvera pas. Si vous le définissez dans~/.profile
ou~/.pam_environment
, la session gnome (ou le DE que vous utilisez) en héritera. Ajouter PATH dans a~/.bashrc
aussi l’inconvénient que si vous ouvrez / exec bash de manière interactive depuis un autre shell bash interactif, il sera ajouté plusieurs fois.~/.profile
c'est correct pour les chemins personnels, cependant; c'est là que Ubuntu ajoute le~/bin
répertoire. Et j'avoue avoir exagéré un peu le nombre de façons, juste un peu.~/.profile
dans ce cas aussi.Pour l’adapter au système, ajoutez la ligne
export PATH=/path/you're/adding:$PATH
à la fin de/etc/profile
.Pour ajouter le répertoire uniquement à l'utilisateur connecté, ajoutez la même ligne à
~/.bash_profile
.la source
L'ajouter à .bashrc fonctionnera, mais je pense que la méthode la plus traditionnelle de configuration de vos variables de chemin est le .bash_profile en ajoutant les lignes suivantes.
Selon ce fil, il semble que le comportement d'Ubuntu soit légèrement différent de celui de RedHat et de ses clones.
la source
.bashrc
, collez-le à la.bashrc
place. Les terminaux d'interface graphique dans Ubuntu ne sont pas des shells de connexion,.bash_profile
ils ne seront donc pas exécutés..bash_profile
. Si bash ne trouve pas.bash_profile
(lorsque vous vous connectez de manière interactive), il le recherchera.profile
et l'utilisera à la place. Par défaut, vous aurez un.profile
et.bashrc
dans Ubuntu. Et.profile
c’est le bon endroit pour définir les variables d’environnement si nous ne tenons pas compte de pam_env.En terminal,
cd
àthe_directory_you_want_to_add_in_the_path
Ce n'était pas mon idée. J'ai trouvé cette façon d'exporter le chemin sur ce blog ici .
la source
ajouter là
la source
sudo nano /etc/profile.d/SCRIPT_NAME.sh
est plus facile pour les débutants.gksu gedit /etc/profile.d/SCRIPT_NAME.sh
c'est encore plus facile.Chaque fois que j'installe mon dossier de scripts BASH, je suis le modèle de test pour un
$HOME/bin
dossier qui se trouve dans la plupart des fichiers .profile des versions récentes d'Ubuntu. Je pose un test qui ressemble àCela fonctionne à peu près à 100% du temps, et me laisse libre de le changer dans un éditeur de texte avec un rapide "Remplacer tout" si je décidais de me déplacer
/scripts
quelque part plus près de mon$HOME
dossier. Je ne l'ai pas encore fait dans 6 installations Ubuntu, mais il y a "toujours demain". SBZT
la source
La méthode recommandée pour modifier votre fichier
PATH
is from/etc/environment
Exemple de sortie de
/etc/environment
:Par exemple, pour ajouter le nouveau chemin de
/home/username/mydir
Ensuite, redémarrez votre PC.
Plus d'informations peuvent être trouvées ici: EnvironmentVariables
la source
Ouvrez votre terminal, tapez
gedit .profile
et insérez les informations suivantes:Fermer et ouvrir le terminal, cela devrait fonctionner.
la source
Mettez-le sur votre
~/.bashrc
ou whatevershell vous utilisez rc (ou pour être mentionné précédemment~/.profile
) ET~/.xsessionrc
ainsi cela fonctionnera également dans X (coque extérieure).la source
Même si les scripts système ne l'utilisent pas, dans tous les cas où l'on souhaite ajouter un chemin (par exemple,
$HOME/bin
) à la variable d'environnement PATH, on devrait utiliserpour ajouter (au lieu de
PATH="$PATH:$HOME/bin"
), etpour ajouter (au lieu de
PATH="$HOME/bin:$PATH"
).Cela évite les deux-points fantômes parasites lorsqu’il
$PATH
est initialement vide, ce qui peut avoir des effets indésirables.Voir, par exemple, https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-coling-if-unset
la source
Pour Ubuntu, éditez le
~/.bashrc
et ajoutez la ligne suivante.. ~/.bash_profile
Puis éditez votre .bash_profile selon vos besoins .....
la source
.bash_profile
comme vous avez besoin". Que dois-je faire exactement au.bash_profile
?.profile
ou.bash_profile
devrait source.bashrc
. Pas l'inverse.