Le fichier .bash_profile (et le fichier .profile également) est chargé pour les shells de connexion, les shells sans connexion utilisent .bashrc (pas de symbole _). Il y a une ligne dans le fichier .screenrc qui indique à l'écran le shell à générer lors du démarrage d'une fenêtre d'écran (lorsque vous ne lancez pas un programme spécifique en tant qu'application de fenêtre). Dans mon fichier .screenrc, c'est en tant que tel (y compris les commentaires):
# shell: Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
shell -$SHELL
Vérifiez votre fichier .screenrc et vérifiez que la ligne du shell a le tiret devant. En ayant ce symbole de tiret et en forçant un shell de connexion, vous obtiendrez votre fichier .bash_profile. La variable $ SHELL dans mon .screenrc utilise la valeur du shell fournie par le shell qui lance l'écran (généralement pour moi c'est bash).
Au cas où vous vous poseriez la question, la plus grande différence que j'ai pu découvrir entre les shells de connexion et les shells sans connexion est qu'un shell sans connexion est normalement ce qui est invoqué pour exécuter des scripts.
L'approvisionnement
.bash_profile
est en fait quelque chose de différent que l'application de terminal Mac que la plupart des applications de terminal ne font pas. L'écran est~/.bashrc
cependant lu à chaque fois que vous générez un nouveau shell.Si vous renommez votre
~/.bash_profile
to~/.bashrc
(sans soulignement entre bash et rc, comme dans votre question), il sera sourcé.Cependant, ma stratégie préférée est de mettre tous mes paramètres dans le
bashrc
, puis de les sourcebash_profile
comme ceci:la source
Vous n'avez pas besoin de modifier un fichier de configuration, si vous écrivez tous vos paramètres
.bash_profile
, comme vous le faites normalement pour configurer votre terminal, et créez un lien nommé.bashrc
pointant vers votre.bash_profile
pour les sessions d'écran via:$ ln -s ~/.bash_profile ~/.bashrc
Toutes les modifications apportées à l'un des fichiers sont stockées dans
.bash_profile
mais également accessibles par.bashrc
.Le seul inconvénient est que vous ne pouvez pas ajouter de paramètres à un seul des fichiers de configuration.
la source
Les identifiants de connexion Linux source ceux qui ne se connectent pas en ajoutant la ligne suivante en cas de fichiers utilisateur:
la source