Fichiers de configuration
Lorsqu'un shell est crée il va lire ses fichiers de configuration qui permettent de le personnaliser.
On va ici se concentrer sur les fichiers de configuration de bash. Chaque shell va avoir sa façon de faire, faites-y attention si vous changez de shell où êtes sous mac qui par défaut a le shell zsh.
Fichiers de configurations de zsh](https://scriptingosx.com/2019/06/moving-to-zsh-part-2-configuration-files/)
Fichiers de configurations de bash
Plusieurs fichiers sont lus lors de l'exécution du shell :
- au login sur une nouvelle machine :
- exécution du fichier
/etc/profile - si un fichier
.bash_profileexiste dans votre home alors il est exécuté - sinon si un fichier
.bash_loginexiste dans votre home alors il est exécuté - sinon si un fichier
.profileexiste dans votre home alors il est exécuté
- exécution du fichier
- pour des exécutions non login (c'est à dire pour des enfants du shell bash de login) :
- lecture du fichier
.bashrcde votre home
- Le fichier
.profileest un standard POSIX préférez ce fichier aux autres pour mettre votre configuration de login. - le fichier
.bashrcn'est pas au login, il est d'usage de le lire à la fin du.profile
Que fait le fichier /etc/profile avec les fichiers du dossier /etc/profile.d ?
solution
solution
Il va les exécuter un à un.
Que mettre dans les fichiers de conf
- on place dans le
.profileles éléments qui sont transmis aux enfants donc essentiellement les variables d'environnements, en particulier la gestion du$PATH. - le fichier
.bashrccontient tous les éléments qui ne sont pas transmis aux shell enfants, comme les alias ou les définitions de fonctions,
.profile minimal
Ci-après un fichier .profile minimal :
if [ -r ~/.bashrc ]; then
. ~/.bashrc
fi
export PATH=~/.local/bin:${PATH}
Les 3 premières lignes vérifient que le fichier .bashrc existe avant de l'exécuter dans le même shell.
Puis il ajoute une commande au path en définissant et créant la variable d'environnement PATH.
.bashrc minimal
export MAILDIR=~/Maildir
alias ll="ls -la"
Qui définie une variable d'environnement puis un alias.
Créons quelques alias :
Le fichier .bashrc crée un alias ll. À quoi cela correspond-t-il ?
corrigé
corrigé
à Chaque fois que l'on va taper la commande ll, le shell la remplacera par ls -la.
Créez dans un shell les deux alias suivant :
cd..pourcd ..cd...pourcd ../...
Fichiers de configurations des applications
Les application vont eux aussi avec des fichiers de configurations. La plupart des applications vont créer un dossier à leur nom dans votre $HOME/.config
Si vous avez des exécutables à vous, rangez les dans : $HOME/.local/bin, et n'oubliez pas d'ajouter ce dossier à votre PATH (comme on l'a fait dans l'exemple du .profile).
L'organisation des ses fichiers de préférence, appelés les dotfiles est un réel sujet. La plupart d'entre nous ont un projet github contenant nos fichiers de conf pour pouvoir les déplacer facilement d'une machine à l'autre :