2013-02-05 8 views
12

どこでも見つけられないようです。多くの時間は、私は次のように設定された環境変数でコマンドを実行します。emacsシェル(eshell)で環境変数を設定するには?

export BLA=foo && ./somebinary 

iはeshellでこれをどのように行うのですか?私はコマンドがsetと呼ばれていると思うが、私はそれを使用する方法がわからない、何の上に同等のeshellになるだろうか?

+0

をあなたはどうESHELLについて 'setenv' –

+0

"を探していますcd " - tramp経由でリモートディレクトリに移動しましたか? –

+0

私自身の質問に答えるためには、それはトランプで使用されるトランスポート方法に依存しています。私はシンプルなシェルを使用しているため、設定した環境変数を保存しない "scpx"を使用しています。それを "scp"(または "ssh")に戻すことができました! ;) –

答えて

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

私はそうのように私のbashプロファイルの変数を設定します。

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)) 
関連する問題