En supposant que bashc'est votre shell par défaut, les différences sont décrites dans la bashpage de manuel ( man bash):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
Il y a plus de détails dans la page de manuel qui couvre le mode de compatibilité shell POSIX, d'où il .profilevient. Lisez la section entière de la page de manuel pour tous les détails.
dans Ubuntu 18.04, l'ouverture d'une nouvelle fenêtre de terminal n'appelle pas .profileseulement .bashrc:(
CpILL
5
Si vous configurez .bash_profile, vous n'aurez pas non plus besoin de configurer .profile.
J'aime garder mes propres alias et commandes .profileafin que si je gâche quelque chose, je sais que je peux toujours supprimer le .profilesans affecter le système dans son ensemble ou d'autres applications qui modifient .bash_profile(comme MacPorts).
Pour utiliser un .profile, vous devrez peut-être inclure la ligne source ~/.profiledans votre .bash_profileafin que le .profilefichier soit lu (voir la réponse de Ned Deily).
.profile est exécuté par bash lorsque vous obtenez un processus shell normal - par exemple, vous ouvrez un outil de terminal. .bash_profile est exécuté par bash pour les shells de connexion - c'est donc lorsque vous telnet / ssh dans votre machine à distance par exemple. Par exemple, si vous utilisez ssh à distance sur une machine (disons que vous ouvrez un terminal X), vous obtiendrez initialement .bash_profile exécuté. Si dans ce XTerminal vous tapez "xterm" et générez un autre X Terminal, alors .profile sera exécuté pour la deuxième instance de XTerminal. Les fichiers résident dans votre répertoire personnel (~). Si je ne me trompe pas par défaut, ils exécutent tous les deux ~ / .bashrc afin que vous puissiez les modifier pour configurer des paramètres / variables communs pour les shells de connexion et non de connexion (par exemple, en définissant PATH, certains alias / raccourcis, etc.).
dans Ubuntu 18.04 ouvrir une nouvelle fenêtre de terminal n'appelle pas .profile?
CpILL
1
pour la configuration rapide et simple (où vous ne voulez pas compliquer les choses), configurez simplement tout dans votre ~ / .profile. Ce n'est que lorsque vous rencontrez des problèmes (mais probablement jamais) que vous en apprendrez plus sur .bash_login ou .bash_profile;)
Je suis également sous OS X et je n'ai jamais eu besoin de .bash_profile ou .bash_login et j'utilise uniquement .profile, mais votre kilométrage peut varier ...
.profile
seulement.bashrc
:(Si vous configurez
.bash_profile
, vous n'aurez pas non plus besoin de configurer.profile
.J'aime garder mes propres alias et commandes
.profile
afin que si je gâche quelque chose, je sais que je peux toujours supprimer le.profile
sans affecter le système dans son ensemble ou d'autres applications qui modifient.bash_profile
(comme MacPorts).Pour utiliser un
.profile
, vous devrez peut-être inclure la lignesource ~/.profile
dans votre.bash_profile
afin que le.profile
fichier soit lu (voir la réponse de Ned Deily).la source
.profile est exécuté par bash lorsque vous obtenez un processus shell normal - par exemple, vous ouvrez un outil de terminal. .bash_profile est exécuté par bash pour les shells de connexion - c'est donc lorsque vous telnet / ssh dans votre machine à distance par exemple. Par exemple, si vous utilisez ssh à distance sur une machine (disons que vous ouvrez un terminal X), vous obtiendrez initialement .bash_profile exécuté. Si dans ce XTerminal vous tapez "xterm" et générez un autre X Terminal, alors .profile sera exécuté pour la deuxième instance de XTerminal. Les fichiers résident dans votre répertoire personnel (~). Si je ne me trompe pas par défaut, ils exécutent tous les deux ~ / .bashrc afin que vous puissiez les modifier pour configurer des paramètres / variables communs pour les shells de connexion et non de connexion (par exemple, en définissant PATH, certains alias / raccourcis, etc.).
la source
.profile
?pour la configuration rapide et simple (où vous ne voulez pas compliquer les choses), configurez simplement tout dans votre ~ / .profile. Ce n'est que lorsque vous rencontrez des problèmes (mais probablement jamais) que vous en apprendrez plus sur .bash_login ou .bash_profile;)
Je suis également sous OS X et je n'ai jamais eu besoin de .bash_profile ou .bash_login et j'utilise uniquement .profile, mais votre kilométrage peut varier ...
la source