3

またはを使用するときに環境変数を一時的に変更する便利機能的な(with-...のような)方法はありますか?shell-comandstart-process

よろしくお願いします、Per

4

2 に答える 2

8

process-environmentは、 サブプロセスが継承するオーバーライドされた環境変数のリストです。

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

->

BAR
于 2011-06-26T16:43:02.027 に答える
2

server-with-environment有望に見えます。

server-with-environment は、`server.el' の Lisp マクロです。

(server-with-environment ENV VARS &rest BODY)

ENV に設定された環境変数 VARS を使用して BODY を評価します。その後、環境変数は以前の値に復元されます。

VARS は文字列のリストでなければなりません。ENV は、「プロセス環境」と同じ形式にする必要があります。

于 2011-06-26T13:07:49.460 に答える