Emacs 내에서 환경 변수에 값 추가

Emacs 내에서 환경 변수에 값 추가

저는 엘리스프를 사용하고 있습니다. 초기화 파일에서 다음을 수행하고 싶습니다.

; 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)))

관련 정보