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 的了解非常初級,所以我不知道從這一點開始。
背景:
這個問題的靈感來自這樣一個事實,即不可能從 Emacs 中獲取 shell 腳本來操縱這個環境,所以我需要使用 Elisp 來做到這一點。
在 Elisp 中,字元串連接是通過以下方式完成的
concat
:(setenv "LD_LIBRARY_PATH" (let ((current (getenv "LD_LIBRARY_PATH")) (new "/path/to/some/lib")) (if current (concat new ":" current) new)))