Como acessar uma variável de ambiente bash de dentro de R no emacs-ess
No meu .bashrc, eu tenho a linha:
export SETTINGS=/home/user/settings.xml
Se eu carregar o R no bash, eu posso acessar essa variável usando oSys.getenv
função:
Sys.getenv("SETTINGS")
"/home/user/settings.xml"
Se eu abrir R no Emacs (M-x R), SETTINGS estará vazio:
Sys.getenv("SETTINGS")
""
O que eu tentei:
adicionando o seguinte a .emacs, com base emComo faço o Emacs reconhecer variáveis de ambiente bash para compilação?
;; get environment vars from .bashrc
(let ((path (shell-command-to-string ". ~/.bashrc; echo -n $SETTINGS")))
(setenv "SETTINGS" path))
abrindo bash no emacs usandoM-x term
echo $SETTINGS # works
R
Sys.getenv("SETTINGS") #works
Se eu abrir o emacs do terminal, a variável SETTINGS estará disponível como esperado. Abrindo o emacs a partir do menu Aplicativos (com o comando/usr/bin/emacs23 %F
ouemacs
) não funciona.
comparando saída desession("env")
ao carregar R no bash vs emacs, mas nada se destaca além de (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
Eu também posso
acessar configurações de dentro de R no emacs-essexportar configurações em algum lugar que eu possa acessá-lo?