【问题标题】:Temporary Modified Environment during External Process Call from Emacs来自 Emacs 的外部进程调用期间的临时修改环境
【发布时间】:2011-06-26 12:23:34
【问题描述】:

在使用shell-comand或@时是否有方便功能with-...-like)临时修改环境变量的方式987654323@?

提前致谢, 每

【问题讨论】:

    标签: shell emacs environment-variables temporary convenience-methods


    【解决方案1】:

    过程环境是一个 要继承的子进程的覆盖环境变量列表。

    (let ((process-environment (cons "FOO=BAR" process-environment)))
      (shell-command-to-string "echo $FOO"))
    

    ->

    BAR
    

    【讨论】:

      【解决方案2】:

      server-with-environment 看起来很有希望。

      server-with-environment 是 `server.el' 中的一个 Lisp 宏。

      (带有环境的服务器 ENV VARS &rest BODY)

      使用设置为 ENV 中的环境变量 VARS 来评估 BODY。 然后将环境变量恢复为之前的值。

      VARS 应该是一个字符串列表。 ENV 的格式应与 `process-environment' 相同。

      【讨论】:

        猜你喜欢
        • 2011-01-04
        • 2011-01-14
        • 1970-01-01
        • 1970-01-01
        • 2019-09-18
        • 1970-01-01
        • 2015-02-22
        • 1970-01-01
        相关资源
        最近更新 更多