मेरे पास एक सबप्रोसेस है जिसे मैं पावरशेल से कॉल करना चाहता हूं जो इंटरएक्टिव हो सकता है या मैं इसमें सीधे डेटा पाइप कर सकता हूं। उदाहरण के लिए:
# This is interactive:
& c:\python27\python.exe
# This takes redirected input:
echo hi | & c:\python27\python.exe -c "print repr(raw_input())"
मैं एक फ़ंक्शन बनाना चाहता हूं जिसका उपयोग ऐसी प्रक्रिया को कॉल लपेटने के लिए किया जा सकता है। मे यह कर सकती हु:
function python() {
& c:\python27\python.exe @args
}
# This starts an interactive prompt:
python
# The piped data disappears and the process still reads from the console:
echo hi | python -c "print repr(raw_input())"
या मैं यह कर सकता हूं:
function python() {
$input | & c:\python27\python.exe @args
}
# This doesn't accept interactive input:
python
# The piped data is passed through to the sub-process as intended:
echo hi | python -c "print repr(raw_input())"
मैं यह नहीं जान सकता कि दोनों मामलों को संभालने वाले फ़ंक्शन को कैसे लिखा जाए। यदि इसे बिना पाइपलाइन के लगाया जाता है, तो मैं चाहता हूं कि यह एक सबप्रोसेस शुरू करे जो स्टड से पढ़ता है, और अगर यह एक पाइपलाइन इनपुट के साथ है, तो मैं चाहता हूं कि इसे सबप्रोसेस के स्टिन में फीड करें। क्या मैं यह कर सकता हूं?