Jak uzyskać dostęp do zmiennej środowiskowej bash z poziomu R w emacs-ess

W moim .bashrc mam linię:

export SETTINGS=/home/user/settings.xml

Jeśli załaduję R w bashu, mogę uzyskać dostęp do tej zmiennej za pomocąSys.getenv funkcjonować:

Sys.getenv("SETTINGS")
"/home/user/settings.xml"

Jeśli otworzę R w Emacs (M-x R), USTAWIENIA są puste:

Sys.getenv("SETTINGS")
""

Co próbowałem:

dodając następujące do .emacs, na podstawieJak sprawić, by Emacs rozpoznawał zmienne środowiskowe bash do kompilacji?

;; get environment vars from .bashrc
(let ((path (shell-command-to-string ". ~/.bashrc; echo -n $SETTINGS")))
  (setenv "SETTINGS" path))

otwieranie basha w emacs za pomocąM-x term

echo $SETTINGS         # works
R
Sys.getenv("SETTINGS") #works

Jeśli otwieram emacs z terminala, zmienna SETTINGS jest dostępna zgodnie z oczekiwaniami. Otwieranie emacs z menu Aplikacje (jednym z poleceń)/usr/bin/emacs23 %F lubemacs) nie działa.

porównywanie wyników zsession("env") podczas ładowania R w bash vs emacs, ale nic nie wyróżnia się inaczej niż (bash = <, emacs =>):

> INSIDE_EMACS=23.3.1,comint
6d5
< SETTINGS=/home/user/settings.xml
9c8
< SHLVL=1
> SHLVL=0
14a14
> PAGER=cat
16d15
< PAGER=/usr/bin/pager
19d17
< COLORTERM=gnome-terminal
25c23
< WINDOWID=14680069
> DESKTOP_AUTOSTART_ID=1020ce948b944a88113395253627645060000001863000
< TERM=xterm
> TERM=dumb

Czy ja też mogę

dostęp do SETTINGS z poziomu R w emacs-esseksportować USTAWIENIA gdzieś, do których mogę uzyskać dostęp?

questionAnswers(4)

yourAnswerToTheQuestion