Je ne trouve pas .bash_profile
dans Ubuntu 14.04 dans mon répertoire /home/user
. J'ai utilisé la commande ls -a
pour afficher le .bash_profile
, mais ce fichier n'existe pas.
Ubuntu utilise ~/.profile
.
vous pouvez créer votre .bash_profile
dans Ubuntu mais alors .profile
ne sera pas lu.
Si nous lisons le contenu .profile:
cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
Donc, utilisez ~/.profile
au lieu de ~/.bash_profile
Cela signifie que le fichier n'existe pas. Cependant, vous pouvez créer le fichier et bash
exécute/source le fichier si bash
est appelé en tant que shell de connexion. Donc, chaque heure que vous vous connectez via un shell (par exemple, avec ssh
).
Si vous souhaitez que le contenu soit exécuté à chaque fois que vous ouvrez un terminal, vous devez plutôt modifier le fichier .bashrc
.
Lors de l'appel d'un login, bash recherchera ses fichiers de configuration dans cet ordre:
[0] ~/.bash_profile
[1] ~/.bash_login
[2] ~/.profile
Après avoir trouvé le premier, il cesse de rechercher les autres. Ainsi, s'il existe un .bash_profile
dans mon $HOME
bash ne recherchera plus ni .bash_login
ni .profile
.
À partir de ces trois noms de fichier, Ubuntu utilise par défaut .profile
. Vous pouvez le renommer en .bash_profile
si vous aimez:
mv ~/.profile ~/.bash_profile
Désormais, si nous ouvrons un nouveau shell bash à l'aide de bash -l
, su - $USER
, Sudo -u $USER -i
ou de toute autre commande exécutant bash en tant que shell de connexion, ~/.bash_profile
sera obtenu.
Ce dont j'ai parlé jusqu'à présent ne concerne que Bash lui-même. Lorsque vous vous connectez au système à partir d'une interface graphique, le gestionnaire d'affichage est responsable de la recherche des fichiers appropriés.
Ubuntu utilise gdm3
en tant que gestionnaire d’affichage. Si nous examinons: /etc/gdm3/Xsession
, nous pouvons voir qu’aucun des fichiers ne sera acheté, à l’exception de: .profile
:
# First read /etc/profile and .profile
for file in /etc/profile "$HOME/.profile"; do
if [ -f "$file" ]; then
source_with_error_check "$file"
fi
done
par conséquent, si vous utilisez une interface graphique pour vous connecter, conservez le fichier sous le nom .profile
sinon vous risqueriez de perdre certaines variables et certains paramètres dans vos environnements.
Je suppose que la meilleure option est de créer un lien symbolique vers .profile
:
ln -s ~/.profile ~/.bash_profile
Désormais, vos données résident dans .profile
, gdm
ne manque de rien, bash charge .bash_profile
qui correspond en fait à .profile
et, en les modifiant, vous obtenez le même résultat.
Si vous n'avez pas .profile
, récupérez-en une copie à partir d'ici:
cp /etc/skel/.profile ~/.profile
ou
# Remember the note above
cp /etc/skel/.profile ~/.bash_profile
La meilleure réponse à utiliser ~/.profile
au lieu de ~/.bash_profile
n'a pas fonctionné pour moi.
Modification de .bashrc
travaillé
Juste:
vim ~/.bashrc
Note: J'utilise Ubuntu WSL.
Si vous voulez parler du .bashrc, vous le trouverez dans votre dossier personnel. S'il ne s'y trouve pas, vous pouvez le copier du dossier/etc/skel dans votre dossier personnel.
Si vous avez besoin de plus d’informations à ce sujet, veuillez visiter la page stefaan lippens.