GNU/Linux >> Tutoriels Linux >  >> Linux

Comment le shell BASH charge ses fichiers de configuration sous Linux

BASH Shell tentera de charger plusieurs fichiers de configuration lors de l'initialisation. Il existe 2 ensembles de fichiers de configuration, selon qu'il s'agit d'un shell de connexion ou d'un shell sans connexion.

  • Lorsque vous vous connectez à un serveur sur un moniteur bare metal, ou via SSH, ou avec # su - [nom d'utilisateur], vous obtenez un shell de connexion.
  • Lorsque vous démarrez un shell dans un terminal dans une session existante (gnome-terminal, un shell dans un autre, ou avec # su [nom d'utilisateur]…), vous obtenez un shell sans connexion. Un script shell est également exécuté sous un shell sans connexion.

Ci-dessous, nous illustrerons la différence en ajoutant un peu de débogage dans ces fichiers de configuration.

Interface de connexion

Par défaut, un shell de connexion chargera les fichiers suivants :

# su - test
this is /etc/profile
this is ~/.bash_profile
this is ~/.bashrc
this is /etc/bashrc

Notez ici le ~/.bash_profile file, le fichier par défaut appelle ~/.bashrc , et ~/.bashrc appelez /etc/bashrc .

Si pour une raison quelconque BASH ne trouve pas le fichier ~/.bash_profile, il recherchera ~/.bash_login Au lieu. Si à nouveau ~/.bash_login est introuvable, BASH recherchera ~/.profile à la place.

Et dans les 2 cas, ~/.bashrc et /etc/bashrc ne seront pas chargés, sauf s'ils ont été explicitement appelés dans ~/.bash_login ou ~/.profile.

Les exemples où ~/.bash_profile n'existe pas :

– Avec la présence de ~/.bash_login, peu importe que ~/.profile existe ou non :

$ su - test
Password: 
this is /etc/profile
This is ~/.bash_login

– Uniquement ~/.profile :

# su - test
this is /etc/profile
this is ~/.profile

Shell sans connexion

C'est plus simple, BASH ne charge que le ~/.bashrc, et encore une fois, l'appel de fichier /etc/bashrc.

# su test
this is ~/.bashrc
this is /etc/bashrc


Linux
  1. Principes de base de Linux :comment télécharger des fichiers sur le shell avec Wget

  2. Comment utiliser la commande Rsync sous Linux ?

  3. Comment utiliser la commande Linux find pour rechercher des fichiers

  4. Comment trouver tous les fichiers épars sous Linux

  5. Comment changer le shell par défaut sous Linux

Comment décompresser les fichiers gz sous Linux

Comment utiliser la commande Declare dans Linux Bash Shell

Comment rechercher des fichiers avec la commande fd sous Linux

Comment changer le shell par défaut dans le système Linux

Comment installer Linux Bash Shell sur Windows 10

Comment utiliser Linux Bash Shell dans Windows 10 ?