我正在使用 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)))