Il y a deux scénarios:
- Vous utilisez Linux
- Vous utilisez Mac Os X
Pour les deux, vous voulez que la source ~/.bashrc
de votre profil soit chargée ou sourcée au démarrage de votre shell pour votre terminal.
LINUX
Sous Linux, ~/.profile
la source est automatiquement dans votre shell au démarrage. Donc, si vous allez sur votre terminal et tapez cd ~; ls -A
, vous verrez tous vos fichiers et répertoires dans votre répertoire personnel ( /home/usrname/
). Vous devriez voir un fichier appelé .profile
. Ceci est le fichier qui est automatiquement "recherché" lorsque vous démarrez le terminal.
Si vous souhaitez ajouter des alias et des fonctions à ~/.bashrc
(ce que je fais), vous devriez alors (à l'intérieur de, ~/.profile
ajouter une instruction if qui vérifie s'il ~/.bashrc
s'agit d'un fichier non vide, puis le source.
Pour vérifier si votre ~/.profile
déjà fait cela entrer nano ~/.profile
. Cela l'ouvrira dans un éditeur de texte (vous pouvez utiliser gedit si vous savez que vous l'avez ou même vim si vous savez vous en servir). Vous pouvez obtenir un fichier texte vide (vous ne devriez pas), mais si vous le faites simplement, continuez. Si vous ne voyez pas une ligne nulle part qui dit source ~/.bashrc
, puis entrez les lignes suivantes quelque part ( le mettre dans un endroit raisonnable comme à la fin ou au début et non pas au milieu d'une instruction if):
if [ -s ~/.bashrc ]; then
source ~/.bashrc;
fi
Ceci vérifie si ~/.bashrc
est un fichier non vide (avec if [ -s ~/.bashrc ]
), et si c'est le cas, il le source. Assez simple. Maintenant, vous pouvez ajouter n'importe quel alias, fonction, variable, etc. valide à ~/.bashrc
.
MAC OS X
Par défaut, les sources Max OS X ~/.bash_profile
. Pour pouvoir ajouter des éléments à ~/.bashrc
(ce qui est, encore une fois, ce que je fais sous OS X également), vous suivez alors la même procédure que linux. Dans le terminal entrez cd ~; nano .bash_profile
. Recherchez une ligne qui dit source ~/.bashrc
et si ce n'est pas là, ajoutez l'instruction if ci-dessus ( if [ -s ~/.bashrc ]; then source ~/.bashrc; fi
).
REMARQUES
Lorsque vous écrivez une instruction if, veillez à laisser des espaces entre pratiquement tout (par exemple, if [ -s ~/.bashrc]; then echo "found"; fi
cela ne fonctionne pas car il n'y a pas d'espace entre ~/.bashrc
et ]
- l'interprète pensera qu'il s'agit d'un mot).
Si vous voulez savoir comment vérifier les éléments dans une instruction if, rendez-vous au terminal et entrez-le man \[
; cela vous donne essentiellement la fin d'une instruction if. Par exemple, if [ -f /path/to/file ]; then echo "it's a file"; else echo "not a file"; fi
vérifie s'il /path/to/file
s'agit d'un fichier et s'il est imprimé sur stdout en conséquence. Je fais toujours référence à cela aussi pour faciliter la lecture et une référence rapide: 7.2. Opérateurs de test de fichiers .
J'espère que ça aide. Je me souviens à quel point j'étais confus au début de tout ça (ce qui n’était pas si tôt) alors, bonne chance dans vos futurs projets UNIX!