将环境变量的值分配给列表
assign value from environment variable to alist
我运行 在办公室和家里都使用Emacs,而在办公室它是在防火墙后面。
一个环境变量 http_proxy
只在我办公室的电脑上定义,我想让我的 Emacs 检查环境变量 http_proxy
是否不为空,如果是这样就使用它的值来设置url_proxy_service
。所以我尝试了这样的事情
(setq proxy (getenv "http_proxy"))
(setq url-proxy-services
'(("http" . proxy)
("https" . proxy)))
我可以看到 proxy
获取了环境变量 http_proxy
中的值,但是 url-proxy-services
变成了 (("http" . proxy) ("https" . proxy))
。
所以在我看来 proxy
没有被取消引用,而是用作字符串文字,我该怎么办?谢谢。
您可以在引用列表时使用 Backquote 来评估 proxy
:
(setq proxy (getenv "http_proxy"))
(setq url-proxy-services
`(("http" . ,proxy)
("https" . ,proxy)))
我运行 在办公室和家里都使用Emacs,而在办公室它是在防火墙后面。
一个环境变量 http_proxy
只在我办公室的电脑上定义,我想让我的 Emacs 检查环境变量 http_proxy
是否不为空,如果是这样就使用它的值来设置url_proxy_service
。所以我尝试了这样的事情
(setq proxy (getenv "http_proxy"))
(setq url-proxy-services
'(("http" . proxy)
("https" . proxy)))
我可以看到 proxy
获取了环境变量 http_proxy
中的值,但是 url-proxy-services
变成了 (("http" . proxy) ("https" . proxy))
。
所以在我看来 proxy
没有被取消引用,而是用作字符串文字,我该怎么办?谢谢。
您可以在引用列表时使用 Backquote 来评估 proxy
:
(setq proxy (getenv "http_proxy"))
(setq url-proxy-services
`(("http" . ,proxy)
("https" . ,proxy)))