2012-03-16 5 views
5

既存のコマンドラインスクリプトを並べ替えるeshell関数を書きたいと思っています。これを行うために、私はeshell関数からシェルコマンドを実行できるようにしたい。私の最初の本能はemacs * eshell *の "exec"に相当しますか?

(defn eshell/myfunc() 
    (shell-command "mycommand")) 

そして、いくつかの問題を除いて作品、この種のような何かをすることでした。実際の "exec"コマンドのように動作するのではなく、劣ったシェルで動作します。これは、とりわけeshellのコマンド "myfunc"がコマンド実行中にブロックされているように見えることを意味します。 "mycommand"の出力は、最後にシェル出力バッファに表示されますが、標準出力が実行されているときに表示される通常のシェル関数の動作は複製されません。

これを行う正しい方法は何ですか?

答えて

関連する問題