2010-08-02 17 views
6

मैं एक लिनक्स कमांड चलाता हूं जो कभी-कभी उपयोगकर्ता इनपुट (1 या 2 दबाएं) के लिए पूछता है।linux कमांड के साथ कीबोर्ड इनपुट कैसे पास करें?

मैं हमेशा 1 का जवाब देना चाहता हूं, मैं यह मान स्वचालित रूप से कैसे पास कर सकता हूं?

उत्तर

10

पाइप | ऑपरेटर को एक कमांड के आउटपुट को दूसरे इनपुट के इनपुट से कनेक्ट करने के लिए उपयोग करें।

echo 1 | command 

आप एक आदेश के लिए कुछ इनपुट दोहराना चाहते हैं, तो आप yes उपयोग कर सकते हैं। डिफ़ॉल्ट रूप से यह बार-बार स्ट्रिंग "वाई" भेजता है लेकिन यह आपकी पसंद की एक अलग स्ट्रिंग भी दोहराता है।

yes | cp * /tmp # Answer "y" to all of cp's "Are you sure?" prompts. 
yes 1 | command # Answer "1" repeatedly until the command exits. 
2

बस एक विचार:

echo "1" | linux_command --with-arguments <&0 

यह आदेशों जो stdin से इनपुट चाहते हैं के लिए काम करता है, क्योंकि 0 मानक इनपुट के लिए जानकारी देता है। यह प्रश्न सर्वर फॉल्ट पर बेहतर हो सकता है हालांकि ...

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