從 Emacs 內將值附加到環境變量

從 Emacs 內將值附加到環境變量

我正在使用 Elisp。我想在我的初始化檔案中執行以下操作:

; Retrieve the value of LD_LIBRARY_PATH
; Append '/path/to/some/lib/:'to it
; Save the new value of LD_LIBRARY_PATH

到目前為止我知道我可以使用:

(getenv "LD_LIBRARY_PATH")

檢索值,並且:

(setenv "LD_LIBRARY_PATH" "foo")

設定一個新值,但我對 Elisp 的了解非常初級,所以我不知道從這一點開始。

背景:

這個問題的靈感來自於這樣一個事實不可能取得 shell 腳本來從 Emacs 內操作此環境,因此我需要使用 Elisp 來完成此操作。

答案1

在 Elisp 中,字串連接是透過以下方式完成的concat

(setenv "LD_LIBRARY_PATH"
  (let ((current (getenv "LD_LIBRARY_PATH"))
        (new "/path/to/some/lib"))
    (if current (concat new ":" current) new)))

相關內容