저는 엘리스프를 사용하고 있습니다. 내 초기화 파일에서 다음을 수행하고 싶습니다.
; 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 내에서 이 환경을 조작하기 위해 쉘 스크립트를 소스로 사용하려면 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)))