Je ne trouve pas mon .bash_login et .bash_profile
root@linux:~# locate .bash* /etc/bash.bashrc /etc/skel/.bashrc /etc/skel/.bashrc.original /home/noroot/.bashrc /home/noroot/.bashrc.original /root/.bash_history /root/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc /usr/share/kali-defaults/.bashrc root@linux:~#
Y a-t-il toujours un seul fichier .bashrc et .bash_profile pour chaque utilisateur?
Et, est-ce que .bashrc et .bash_profile se trouvent toujours dans le répertoire / home / « nom dutilisateur »?
Réponse
Les seuls que bash regarde par défaut se trouvent dans le répertoire personnel de lutilisateur, oui. Il y a aussi généralement une source unique pour eux sous Linux – / etc / skel. Le répertoire personnel de lutilisateur na pas besoin dêtre sous / home, cependant.
Je vois que vous avez modifié votre question pour demander où se trouvent vos fichiers .bash_login et .bash_profile. Basé à linvite #
, je « vais supposer que vous » exécutez ceci en tant que root. Dans ce cas, vos fichiers sont
/root/.bash_history /root/.bashrc
Voir ma réponse originale ci-dessus concernant le répertoire personnel dun utilisateur – ce nest pas toujours / home; dans ce cas, le répertoire personnel de root est /root
.
Réponse
Selon man bash
:
Lorsque bash est appelé en tant que shell de connexion interactif, ou en tant que shell non interactif avec loption –login, il lit et exécute dabord les commandes du fichier / etc / profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~ / .bash_profile, ~ / .bash_login et ~ / .profile, dans cet ordre, et lit et exécute les commandes à partir du premier qui existe et est lisible.
~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file
Il y a aussi /etc/bashrc
( /etc/bash.bashrc
sous Linux basé sur Debian) qui contient System wide functions and aliases
. Par défaut, il est défini, même pour les shells non interactifs et sans connexion.
EDIT:
Le tilde
dans les chemins indique le home directory
de lutilisateur actuellement connecté. Bash ne peut utiliser que lun des ~/.bash_profile, ~/.bash_login, or ~/.profile
(par utilisateur actuellement connecté), dans cet ordre, pour lire et exécuter des commandes. (Les systèmes dexploitation basés sur Debian nont généralement pas ~/.bash_profile or ~/.bash_login.
Ils utilisent le fichier ~/.profile
. Ce fichier explique quil sera lu et utilisé à moins ~/.bash_profile or ~/.bash_login
sont créés.
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
existe.
Commentaires
- De quelle manière cela répond-il à ma question?
- @BROY Il répond à la question que vous auriez dû poser plutôt quà celle que vous avez posée.
- Jai vu des gens mettre un fichier .bash_profile dans les répertoires du projet, est-ce que cela est vraiment récupéré par bash? Je ne ' ne pense pas que ' est censé se produire par défaut.
Réponse
Votre bashrc
file « dépend de la distribution … Voici une liste de base pour le système bashrc
:
/etc/bashrc
(Redhat, Fedora, etc.)
/etc/bash.bashrc
(Debian, Ubuntu, Linux Mint, Backtrack, Kali etc.)
/etc/bash.bashrc.local
(Suse, OpenSuse, etc)
Ensuite, il y a le mono-utilisateur privé bashrc
, qui, pour la plupart, est stocké dans ~/.bashrc
pour pratiquement toutes les distributions … Si vous navez pas lune des distributions répertoriées, ou si vous avez un système spécial, vous pouvez toujours rechercher bashrc
emplacement sur Google pour cette distribution ou ce système …
Cordialement,
Intéressant …
Réponse
Comme les gens lont déjà dit, vous pouvez trouver un squelette de bashrc dans /etc/skel/.bashrc. Si différents utilisateurs veulent différentes configurations de bash, vous devez mettre un fichier .bashrc dans le dossier de base de cet utilisateur.
En ce qui concerne .bash_profile et .bash_login, lutilisateur doit les créer manuellement et les lier via bashrc . bash_profile et bash_login existent pour créer une sensation plus organisée pour les différents paramètres que vous chargez. Personnellement, je garde tous mes alias dans bash_profile afin de ne pas avoir à trier un désordre dans bashrc pour faire une modification rapide.
Voici un exemple de ce que vous auriez dans votre fichier .bashrc:
if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi