Où se trouve le fichier .bashrc sous Linux?

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 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *