Le savoir n'a guère d'intérêt s'il n'est pas partagé.

C'est une astuce que j'applique depuis quelques années et qui je trouve est vraiment très pratique. Le fichier .bashrc a vite tendance à devenir très gros et par conséquent difficilement maintenable et vite incompréhensible. 😩

Je ne suis pas quelqu'un qui aime les fichiers de 10 000 lignes, je préfère les scinders dans la mesure du possible. 😄

Comme le .bashrc n'est ni plus ni moins qu'un script bash classique mais appelé lors de l'initialisation de la session bash, on aura ainsi pas de mal à ajouter une petite boucle for pour appeler nos fichiers.

Anatomie de la chose 😼

Il nous faut, pour que notre recette fonctionne correctement, créer le répertoire .bashrc.d dans notre home directory.

mkdir -p ~/.bashrc.d/

Une fois que c'est fait, on va ajouter dans notre .bashrc la boucle for suivante:

# Source all .bashrc files
for file in ~/.bashrc.d/*.bashrc; do
	. "$file"
done

Cette boucle va tout simplement "sourcer" tous les fichiers ayant pour extension .bashrc dans le répertoire .bashrc.d. Magique! 😲

C'est pas tout, maintenant, il reste à créer nos fichiers .bashrc. Pour l'exemple, je vais créer un fichier dans lequel je vais y insérer mes différents alias:

touch ~/.bashrc.d/aliases.bashrc

Voici le résultat une fois tout splité:

12:04:45 pil0t@cockpit ~ → ll .bashrc.d/
.rw-r--r--  2,6k pil0t pil0t 10 févr. 11:53 aliases.bashrc
.rw-r--r--  1,8k pil0t pil0t 10 févr. 11:29 credentials.bashrc
.rw-r--r--   321 pil0t pil0t  9 févr. 21:39 history.bashrc
.rw-r--r--   600 pil0t pil0t  9 févr. 21:57 neofetch.bashrc
.rw-r--r--    94 pil0t pil0t  9 févr. 18:45 path.bashrc
.rw-r--r--   112 pil0t pil0t 10 févr.  9:09 rust.bashrc

Pour que tout ça soit pris en compte, il ne reste plus qu'à "sourcer" notre .bashrc.

. ~/.bashrc

Voilà, maintenant vous pourrez plus facilement maintenir vos alias, variables d'environnement, etc. 🕺🏼