2012-03-16 8 views
5

मैं एक एशेल फ़ंक्शन लिखना चाहता हूं जो मौजूदा कमांड लाइन स्क्रिप्ट को लपेटता है। ऐसा करने के लिए, मैं एक एशेल फ़ंक्शन से शेल कमांड निष्पादित करने में सक्षम होना चाहता हूं। मेरी पहली वृत्ति,emacs * eshell * में "exec" के समतुल्य?

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

की तरह कुछ और कार्यों के इस तरह करने के लिए कुछ समस्याओं के लिए छोड़कर गया था। यह एक असली "exec" कमांड की तरह व्यवहार करने के बजाय एक अवरक्त खोल में चलता है। इसका मतलब यह है कि, अन्य चीजों के साथ, कमांड में "myfunc" कमांड कमांड चल रहा है, जबकि कमांड चल रहा है। "Mycommand" का आउटपुट अंत में शैल आउटपुट बफर में दिखाई देता है, लेकिन यह सामान्य शेल फ़ंक्शन के व्यवहार को प्रतिलिपि नहीं करता है, जहां मानक आउटपुट चलने पर दिखाई देता है।

तो, ऐसा करने का सही तरीका क्या है?

उत्तर

संबंधित मुद्दे