web-dev-qa-db-fra.com

Inclure des fichiers supplémentaires dans .bashrc

J'ai quelques trucs que je veux exécuter dans .bashrc que je préférerais exister dans un autre fichier du système. Comment puis-je inclure ce fichier dans .bashrc?

62
Fragsworth

Ajouter source /whatever/file (ou . /whatever/file) dans .bashrc où vous souhaitez inclure l'autre fichier.

100
Jeremiah Willcock

Pour éviter les erreurs, vous devez d'abord vérifier que le fichier existe. Puis sourcez le fichier. Faites quelque chose comme ça.

# include .bashrc if it exists
if [ -f $HOME/.bashrc_aliases ]; then
    . $HOME/.bashrc_aliases
fi
49
Nick

Si vous souhaitez charger plusieurs fichiers qui peuvent ou non exister, vous pouvez les garder quelque peu élégants en utilisant une boucle for.

files=(somefile1 somefile2)
path="$HOME/path/to/dir/containing/files/"
for file in ${files[@]}
do 
    file_to_load=$path$file
    if [ -f "$file_to_load" ];
    then
        . $file_to_load
        echo "loaded $file_to_load"
    fi
done

La sortie ressemblerait à:

$ . ~/.bashrc
loaded $HOME/path/to/dir/containing/files/somefile1
loaded $HOME/path/to/dir/containing/files/somefile2
2
modle13

Je préfère d'abord vérifier la version et attribuer une variable pour la configuration du chemin:

if [ -n "${BASH_VERSION}" ]; then
  filepath="${HOME}/ls_colors/monokai.sh"
  if [ -f "$filepath" ]; then
    source "$filepath"
  fi
fi
0
Nick Tsai