Il existe plusieurs façons de procéder. La solution réelle dépend de l'objectif.
Les valeurs des variables sont généralement stockées dans une liste d'affectations ou dans un script shell exécuté au début de la session système ou utilisateur. Dans le cas du script shell, vous devez utiliser une syntaxe shell spécifique et / export
ou des set
commandes.
À l'échelle du système
/etc/environment
Liste des affectations uniques, autorise les références. Parfait pour ajouter des répertoires à l'échelle du système comme /usr/local/something/bin
des PATH
variables ou des définitions JAVA_HOME
. Utilisé par PAM et SystemD.
/etc/environment.d/*.conf
Liste des affectations uniques, autorise les références. Parfait pour ajouter des répertoires à l'échelle du système comme /usr/local/something/bin
des PATH
variables ou des définitions JAVA_HOME
. La configuration peut être divisée en plusieurs fichiers, généralement un pour chaque outil (Java, Go, NodeJS). Utilisé par SystemD qui, par conception, ne transmet pas ces valeurs aux shells de connexion utilisateur.
/etc/xprofile
Script shell exécuté au démarrage de la session du système X Window. Ceci est exécuté pour chaque utilisateur qui se connecte au système X Window. C'est un bon choix pour les PATH
entrées qui sont valables pour chaque utilisateur comme/usr/local/something/bin
. Le fichier est inclus par un autre script, utilisez donc la syntaxe du shell POSIX et non la syntaxe de votre shell utilisateur.
/etc/profile
et /etc/profile.d/*
script Shell. C'est un bon choix pour les systèmes shell uniquement. Ces fichiers sont lus uniquement par des shells en mode connexion.
/etc/<shell>.<shell>rc
. Script shell. C'est un mauvais choix car il est spécifique à un seul shell. Utilisé en mode sans connexion.
Session utilisateur
~/.pam_environment
. Liste des affectations uniques, aucune référence autorisée. Chargé par PAM au début de chaque session utilisateur non pertinent s'il s'agit d'une session ou d'un shell du système X Window. Vous ne pouvez pas référencer d' autres variables , y compris HOME
ou PATH
il a un usage limité. Utilisé par PAM.
~/.xprofile
Script shell. Ceci est exécuté lorsque l'utilisateur se connecte au système X Window System. Les variables définies ici sont visibles pour chaque application X. Choix parfait pour étendre PATH
avec des valeurs telles que ~/bin
ou ~/go/bin
ou définir un utilisateur spécifique GOPATH
ou NPM_HOME
. Le fichier est inclus par un autre script, utilisez donc la syntaxe du shell POSIX et non la syntaxe de votre shell utilisateur. Votre éditeur de texte graphique ou IDE démarré par raccourci verra ces valeurs.
~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
Shell script. Il ne sera visible que pour les programmes démarrés depuis un terminal ou un émulateur de terminal. C'est un bon choix pour les systèmes shell uniquement. Utilisé par les shells en mode connexion.
~/.<shell>rc
. Script shell. C'est un mauvais choix car il est spécifique à un seul shell. Utilisé par les shells en mode sans connexion.
Remarques
Gnome sur Wayland démarre le shell de connexion utilisateur pour obtenir l'environnement. Il utilise efficacement les configurations shell de connexion ~/.profile
, ~/.<shell>_profile
,~/.<shell>_login
les fichiers.
Manuels
- environnement
- environnement.d
- frapper
- tiret
Documentation spécifique à la distribution
en relation
Différence entre le shell de connexion et le shell sans connexion?
.bash_profile
-être devrait - on également l'ajouter à la liste?/etc/environment
. Mais puis-je le rafraîchir sans me déconnecter ni me connecter? Parfois, je n'utilise pas bash ou sh, doncsource /etc/environment
ça ne marche pas.Vous devez l'ajouter à votre fichier
~/.profile
ou~/.bashrc
.Selon ce que vous faites, vous pouvez également créer un lien symbolique vers des fichiers binaires:
Notez que cela ne mettra pas automatiquement à jour votre chemin pour le reste de la session. Pour ce faire, vous devez exécuter:
la source
$PATH
et/usr/bin
. 2) Devrait/usr/bin
même être là. 3) Ne devriez-vous pas plutôt l'utiliser/usr/local/bin
?cd
dans le répertoire dans lequel vous l'avez décompressée, puis exécutezls
--- et réalisez ensuite que l'archive tar avait un programme malveillant appeléls
.Dans Ubuntu, modifiez
/etc/environment
. Son seul but est de stocker les variables d'environnement. À l'origine, la variable $ PATH est définie ici. Ceci est une pâte de mon/etc/environment
fichier:Vous pouvez donc simplement ouvrir ce fichier en tant que root et ajouter ce que vous voulez.
Pour des résultats immédiats, exécutez (essayez en tant qu'utilisateur normal et root):
MISE À JOUR:
Si vous utilisez
zsh
(alias Z Shell), ajoutez cette ligne juste après les commentaires dans/etc/zsh/zshenv
:J'ai rencontré cette petite bizarrerie sur Ubuntu 15.10, mais si votre zsh n'obtient pas le bon CHEMIN , cela pourrait être la raison
la source
$PATH
est également défini/etc/profile
dans Arch Linux.Mettez la
export
déclaration~/.bashrc
. Mon .bashrc contient ceci:la source
.profile
', je n'ai pas trouvé.bashrc
source ~/.bashrc
pour recharger la.bashrc
configuration. Ensuite, cela fonctionneraexport
mot clé n'est nécessaire que s'ilPATH
n'est pas déjà signalé comme variable d'environnement - ce qu'il sera presque inconditionnellement. CelaPATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH
aurait simplement le même effet.Vous pouvez définir de
$PATH
façon permanente de 2 façons.Pour définir le chemin d'accès d'un utilisateur particulier: Vous devrez peut-être effectuer l'entrée
.bash_profile
dans le répertoire personnel de l'utilisateur.par exemple dans mon cas, je définirai le chemin java dans le profil utilisateur tomcat
Pour définir un chemin commun pour TOUS les utilisateurs du système, vous devrez peut-être définir un chemin comme celui-ci:
la source
/etc/profiles
avec uns
sur votre distribution? Le mien n'a pass
. Je pense que vous avez une faute de frappe.Vous pouvez utiliser sur Centos ou RHEL pour l'utilisateur local:
Cela ajoute le répertoire actuel (ou vous pouvez utiliser un autre répertoire) au PATH, cela le rend permanent mais prend effet à la prochaine ouverture de session utilisateur.
Si vous ne souhaitez pas vous reconnecter, vous pouvez utiliser:
Ce rechargement de
# User specific environment and startup programs
ce commentaire est présent dans.bash_profile
la source
Vous pouvez également définir de manière permanente, en modifiant l'un de ces fichiers:
/etc/profile
(pour tous les utilisateurs)~/.bash_profile
(pour l'utilisateur actuel)~/.bash_login
(pour l'utilisateur actuel)~/.profile
(pour l'utilisateur actuel)Vous pouvez également utiliser
/etc/environment
pour définir une variable d'environnement PATH permanente, mais elle ne prend pas en charge l'expansion de variable .Extrait de: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html
la source
Je suis tombé sur cette question hier lors de la recherche d'un moyen d'ajouter un dossier contenant mes propres scripts au PATH - et j'ai été surpris de découvrir que mon propre
~/.profile
fichier (sur Linux Mint 18.1) contenait déjà ceci:Ainsi, tout ce que j'avais à faire était de créer le dossier
~/bin
et d'y mettre mes scripts.la source
Je pense que la manière la plus élégante est:
1. ajoutez ceci dans le fichier ~ / .bashrc Exécutez cette commande
ajoutez votre chemin à l'intérieur
2. source ~ / .bashrc
(Ubuntu)
la source
Vous pouvez ajouter cette ligne à votre fichier de configuration de console (par exemple .bashrc), ou à .profile
la source
/home/(username)
ls -a
pour les voir.)Ajouter définitivement la variable PATH
Global:
Local (pour utilisateur uniquement):
Pour un redémarrage global . Pour la reconnexion locale .
Exemple
Avant:
Après:
Alternativement, vous pouvez simplement modifier le profil:
Une autre façon (merci gniourf_gniourf):
la source
echo 'export PATH=$PATH:/new/path/variable'
... Et au fait, leexport
mot-clé est très probablement inutile car laPATH
variable est très probablement déjà marquée comme exportée./usr/local
en utilisant~/.bashrc
. maintenant si vous avez l'intention d'ajouter/opt/bin
à la même variable en utilisant/etc/bash.bashrc
; $ PATH se traduira dans la même chaîne statique, par conséquent $ PATH sera remplacé au lieu d'être ajouté à ... Ce sera une question de préférence du système pour un fichier plutôt qu'un autre1. modifiez le fichier "/ etc / profile".
Appuyez sur la touche "i" pour entrer le statut d'édition et déplacez le curseur à la fin du fichier, Entrées supplémentaires:
Appuyez sur la touche "Echap" pour quitter le statut d'édition, ': wq' enregistrez le fichier.
2. rendre la configuration efficace
Expliquez: le fichier de profil fonctionne pour tous les utilisateurs, si vous souhaitez être valide uniquement pour l'utilisateur actif, définissez le fichier ".bashrc"
la source
Après tant de recherches, j'ai trouvé une solution simple pour cela (j'utilise un OS élémentaire ), inspiré par le lien suivant .
Je crois que c'est le permanent solution pour définir le chemin du flutter dans la distribution Ubuntu
J'espère que cela vous sera utile.
la source
les fichiers dans lesquels vous ajoutez la commande d'exportation dépendent si vous êtes en mode connexion ou non.
si vous êtes en mode connexion, les fichiers que vous recherchez sont / etc / bash ou /etc/bash.bashrc
si vous êtes en mode hors connexion, vous recherchez le fichier /.profile ou les fichiers du répertoire /.profiles.d
les fichiers mentionnés ci-dessus si où sont les variables système.
la source
Ajouter au
/etc/profile.d
dossier de script[name_of_script].sh
avec la ligne:export PATH=$PATH:/dir
. Chaque script dans le/etc/profile.d
dossier est automatiquement exécuté par/etc/profile
lors de la connexion.la source
Zues77 a la bonne idée. L'OP n'a pas dit "comment puis-je me frayer un chemin à travers cela". OP voulait savoir comment ajouter de façon permanente à $ PATH:
C'est là qu'il est réglé pour tout et est le meilleur endroit pour le changer pour tout ce qui nécessite $ PATH
la source
Ma réponse se réfère à la création de
go-lang
sur.Ubuntu linux/amd64
J'ai rencontré le même problème pour définir le chemin des variables d'environnement (GOPATH
etGOBIN
), le perdre à la sortie du terminal et le reconstruire en utilisant àsource <file_name>
chaque fois. L'erreur était de mettre le chemin (GOPATH
etGOBIN
) dans le~/.bash_profile
dossier. Après avoir perdu quelques bonnes heures, j'ai trouvé que la solution était de mettreGOPATH
etGOBIN
dans le~/.bash_rc
fichier de la manière:et ce faisant, l'installation go a bien fonctionné et il n'y a eu aucune perte de chemin.
EDIT 1: La raison pour laquelle ce problème peut être lié est que les paramètres des shells sans connexion comme votre terminal ubuntu ou gnome-terminal où nous exécutons le code go sont tirés du
~./bash_rc
fichier et les paramètres des shells de connexion sont tirés du~/.bash_profile
fichier, et du~/.profile
fichier si le~/.bash_profile
fichier est inaccessible.la source
Supposons que vous exécutez MacOS et que vous avez un binaire de confiance et que vous souhaitez rendre disponible sur votre système mais que vous ne voulez pas nécessairement le répertoire dans lequel le binaire doit être ajouté à votre PATH, vous pouvez choisir de copier / déplacer le binaire vers
/usr/local/bin
, qui devrait déjà être dans votre CHEMIN. Cela rendra l'exécutable binaire comme tout autre binaire auquel vous avez déjà accès dans votre terminal.la source
Il peut être ajouté directement à l'aide de la commande suivante:
la source
bash
, donc ce n'est pas très utile.la meilleure façon simple est la ligne suivante:
PATH="<directory you want to include>:$PATH"
dans votre fichier .bashrc dans le répertoire personnel.
Il ne sera pas réinitialisé même si vous fermez le terminal ou redémarrez votre PC. Son permanent
la source
Je pense que la manière la plus élégante est:
1. ajoutez ceci dans le fichier ~. / Bashrc
2. source ~ / .bashrc
(Ubuntu)
la source
une façon d'ajouter un chemin permanent, qui a fonctionné pour moi, est:
redémarrez votre ordinateur et c'est parti!
la source
Pour la distribution Debian, vous devez:
la source
Il s'agit d'une doublure . Il ajoute une ligne au fichier
.bashrc
. La ligne va vérifier si le répertoire a déjà été ajouté au chemin et l'ajouter sinon. Cela empêchera la duplication de votre répertoire dans le chemin à chaque fois que vous sourcez.bashrc
.la source