2013-02-05 14 views
12

मुझे यह कहीं भी नहीं लगता है।emacs shell (eshell) में एक पर्यावरण चर सेट करने के लिए कैसे?

export BLA=foo && ./somebinary 

कैसे मैं eshell में ऐसा करते हैं: बार मैं एक वातावरण चर के साथ आदेशों को चलाने का एक बहुत की तरह सेट किया? मुझे लगता है कि कमांड को set कहा जाता है लेकिन मुझे यकीन नहीं है कि इसका उपयोग कैसे किया जाए, eshell में उपरोक्त समतुल्य क्या होगा?

+0

आप के लिए देख रहे हैं ' –

+0

क्या eshell के बारे में setenv'" सीडी "ट्रम्प के माध्यम से एक दूरस्थ निर्देशिका में? –

+0

मेरे अपने प्रश्न का उत्तर देने के लिए - यह ट्रम्प में उपयोग की जाने वाली परिवहन विधियों पर निर्भर करता है - मैं "scpx" का उपयोग कर रहा हूं जो एक साधारण खोल का उपयोग करता है और इस प्रकार मैंने जो पर्यावरण चर सेट किया है उसे संरक्षित नहीं किया है। इसे "एसपीपी" (या "एसएसएच") में बदलकर काम किया! ;) –

उत्तर

15
~ $ (setenv "XYZ" "abc") 
abc 
~ $ ./e.sh 
abc 
~ $ cat e.sh 
echo $XYZ 
~ $ (setenv "XYZ" "abc") 
abc 
~ $ ./e.sh 
abc 
2

मैं इतनी तरह मेरे बैश प्रोफ़ाइल में चर सेट:

export WORK_DIR=/Users/me/Documents/some/dir 
फिर .emacs मैं इस डाल में

:

(let ((work_dir (shell-command-to-string ". ~/.bash_profile; echo -n $WORK_DIR"))) 
(setenv "WORK_DIR" work_dir)) 
संबंधित मुद्दे