Comment faire pour que Emacs utilise mon fichier .bashrc?
J'ai besoin d'utiliser mon $PATH
dans Emacs pour exécuter certaines commandes. Comment puis-je faire Emacs utiliser? J'ai installé Emacs à partir des dépôts Ubuntu.
source d'informationauteur Sławosz
Vous devez vous connecter pour publier un commentaire.
Voici une astuce pour J'utilise pour assurer ma GUI Emacs voit toujours la même
$PATH
que je reçois à l'intérieur d'une coquille:Spécifiquement, sur OS X, un graphique Emacs ne sera pas ramasser le shell de l'utilisateur définition de
$PATH
donc cette astuce m'aide sur cette plate-forme.Mise à jour: ce code a été publié en elisp bibliothèque appelée exec-chemin-de-shell et installer les paquets sont disponibles dans MELPA.
Plus générale de la solution (à définir toutes les variables et les alias, et pas seulement
PATH
) est donnée dans https://stackoverflow.com/a/12229404/1190077 - la clé est de définir:qui remplace la valeur par défaut
"-c"
(exécuter la commande suivante). L'ajout de"-i"
les forces de l'interpréteur de commande bash en mode interactif, ce qui conduit à la question de l'approvisionnement~/.bashrc
.Si votre env vars ne sont pas ramassés, il peut être due à la façon dont emacs est commencé. De vérifier la menuitem ou quoi que ce soit et essayer de changer de
emacs
àbash -c emacs
.Vous pouvez ajouter un chemin d'accès de configuration /etc/profile.d comme
Dans Ubuntu, je me souviens de toutes les sessions de la source de votre
~/.xsessionrc
ce qui vous permet de définir le chemin d'accès à ce fichier pour les applications à interface graphique.Je suis venu avec quelque chose de similaire pour l'approvisionnement en mon .bash_profile. Si vous ne se soucient CHEMIN, l'un de l'autre les réponses ci-dessus est plus simple.
Il fonctionne en exécutant
source ~/.bash_profile ; echo post-env; env
alors vous débarrasser de tout ce qui est avant le "post-env", puis analyse les valeurs de la "clé=valeur" format "env" commande de tirages.Il n'a probablement pas gérer tous les cas parfaitement, mais fonctionne assez bien pour moi.
Si le
$PATH
est situé dans le terminal vous lancer emacs, vous pouvez exécuter des commandes du système grâce à la commandeM-! <your command> RET
.