私は Elisp を使用しています。init ファイルで次の操作を実行したいと思います。
; 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)))