Eu acho que encontrei um jeito. Eu criei um script my-init.el
com este conteúdo:
bash -c "source my-init.sh > /dev/null && env | \ grep -E 'MY_ENV\=' | \ sed -e 's/\([^=]*\)=\(.*\)/(setenv \"\" \"\" \)/g'" \ > /tmp/my-init-env source /tmp/my-init-env
Quando originado de dentro do eshell, ele iniciará um bash, originará o my-init.sh
lá (configurando assim a variável MY_ENV
) e, em seguida, chamará env
para obter MY_ENV
e o converterá com sed
para algo como (setenv "MY_VAR" "value")
, que é originado no eshell original.
Não é bonito, mas faz o trabalho!