Le code dans .bashrc ne s'exécute pas lorsque j'ouvre une nouvelle fenêtre de terminal dans Ubuntu 12.04. J'ai remarqué cela lors de la création d'un fichier .bash_aliases. Les alias ne sont pas apparus lorsque j'ai ouvert un nouveau terminal. Toutefois, lorsque je tape source .bashrc
les alias sont apparus.
.bashrc doit être exécuté à chaque fois que j'ouvre une nouvelle fenêtre de terminal, non?
Comment puis-je y arriver?
.profile
est lu au moment de la connexion, pas lorsque vous ouvrez un nouveau terminal, sauf en cas de mauvaise configuration quelque part. Selah: avez-vous changé quelque chose à partir de la configuration par défaut? Veuillez exécuterps -o command $$ $PPID
dans un terminal et copier-coller le résultat..bashrc
dans votre dossier personnel, non?echo $SHELL
. Cela m'est arrivé et le shell était / bin / sh au lieu de bash. Corrigez-le dans / etc / passwd et son exécution .bashrc.Réponses:
Ce n'est pas nécessairement exécuté; Au sommet de la norme. Bashrc est ce commentaire:
Je crois qu'il existe une option pour exécuter le terminal bash en tant que shell de connexion ou non. Avec Ubuntu, gnome-terminal ne s’exécute normalement pas en tant que shell de connexion. Par conséquent, .bashrc doit être exécuté directement.
Pour les shells de connexion (comme les terminaux virtuels), normalement, le fichier
~/.profile
est exécuté, sauf si vous avez l'un~/.bash_profile
ou l' autre~/.bash_login
, mais ils n'y sont pas par défaut. Par défaut, Ubuntu utilise uniquement .profile.La norme
~/.profile
contient ceci:Cela fonctionne .bashrc s’il est disponible - en supposant que $ BASH_VERSION est présent dans votre environnement. Vous pouvez vérifier cela en entrant la commande
echo $BASH_VERSION
et elle devrait afficher des informations sur le numéro de version - il ne devrait pas être vide.la source
~/.bash_profile
ou~/.bash_login
. Vous pouvez tester en cochant ou non la case à cocherEdit -> Profile Preferences -> Title and Command -> "Run command as a login shell
, puis quitter puis réexécuter le terminal. Vous pouvez faire écho à quelque chose de .profile à tester.~/.bash_profile
ou~/.bash_login
sur votre système et que vous voulez les conserver, mais que vous voulez quand même~/.profile
et à partir de là~/.bashrc
, vous pouvez l’alimenter à partir de la vôtre~/.bash_profile
ou~/.bash_login
avec une ligne contenantsource "$HOME/.profile"
. Vous rend la sortie colorée de ls également dans les coquilles de connexion!Dans mon cas, tout simplement les
.bashrc
lignes de chargeur manquaient dans.bash_profile
Je l'ai ajouté manuellement et cela a fonctionné avec mon nouveau login
la source
.bash_profile
? Ubuntu utilise un.profile
par défaut, pas.bash_profile
.pcre
et il semble que le profil bash a été écrasé au lieu de l'ajouter..bash_profile
détient la configuration pour le shell bash. Lorsque vous ouvrez un terminal, celui-ci lit et exécute les commandes à partir de~/.bash_profile
. Vous pouvez donc ajouter ce qui suit.bash_profile
pour configurer le shell en fonction de bashrc.la source
~/.bash_profile
ne sera pas lu (et il n'existe pas par défaut dans Ubuntu)Si
$BASH_VERSION
n'est pas défini, essayez d'utiliser lachsh
commande pour définir votre shell/bin/bash
.J'ai eu un problème similaire avec 12.04 LTS, et il s'est avéré que le shell par défaut du nouveau compte d'utilisateur était défini sur
/bin/sh
, ce qui était la cause du problème.la source
Selon le commentaire dans .profile
Alors voilà, si
~/.bash_profile
ou~/.bash_login exists
, ceux-ci seront exécutés au lieu de~/.profile
si vous voulez exécuter
~/.bashrc
simplement ajouter la lignesource ~/.bashrc
àbash_profile
la source
.bashrc
a été recherché jusqu'à ce que je crée un.bash_profile
fichier. J'ai donc ajouté lasource ~/.bashrc
ligne à mon.bash_profile
dossier.Au lieu de parcourir tout cela, allez
Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell"
dans la boîte de commande personnaliséebash
et écrivez -la. La prochaine fois que vous ouvrirez le terminal, il se déroulera également automatiquement.la source