2011-10-04 6 views
53

मैं अमेज़न लिनक्स उदाहरणों के साथ काम करते हैं और मैं डेटा को पॉप्युलेट और सभी कार्यक्रमों मैं के साथ काम स्थापित करने के लिए एक जोड़े को स्क्रिप्ट है, लेकिन कार्यक्रमों की एक जोड़ी से पूछते हैं:मैं प्रोग्राम इंस्टॉल करने के लिए "हां" प्रतिक्रिया कैसे लिपि करूं?

Do you want to continue [Y/n]? 

और स्थापित रोक सकते हैं। मैं सभी मामलों में "वाई" का उत्तर देना चाहता हूं, मुझे अभी यकीन है कि इसे कैसे किया जाए।

+3

पैकेज प्रबंधक एक '--noprompt' या' --noconfirm' झंडा आप उपयोग कर सकते हैं हो सकता है। – Blender

उत्तर

87

'yes' command 'y' गूंज होगा (या जो भी आप इसे करने के लिए कह) अनिश्चित काल के लिए। के रूप में यह प्रयोग करें:

yes | command-that-asks-for-input 

या, यदि एक पूंजी 'Y' की जरूरत है:

yes Y | command-that-asks-for-input 
+0

क्या यह केवल कुछ कमांड के साथ काम करता है जो हाँ से इनपुट का उपयोग करने के लिए समर्थित है, है ना? मैंने ओपनस्टैक से नज़र से प्रयास किया और यह काम नहीं करता, मुझे लगता है कि सभी परिस्थितियों के लिए उम्मीद अधिक सटीक है – HVNSweeting

+1

//, अगर आपको पूरा शब्द "हाँ" दर्ज करना है तो क्या होगा? –

+2

@NathanBasanese कमांड 'हां हां' – Dylan

3

हालांकि यह आपकी तुलना में अधिक जटिल/भारी वजन हो सकता है, ऐसा करने के लिए एक बहुत ही लचीला तरीका Expect (या किसी अन्य प्रोग्रामिंग भाषा में डेरिवेटिव्स) का उपयोग कर रहा है।

अपेक्षा एक ऐसी भाषा है जो विशेष रूप से टेक्स्ट-आधारित अनुप्रयोगों को नियंत्रित करने के लिए डिज़ाइन की गई है, जो वही है जो आप करना चाहते हैं। यदि आप कुछ और जटिल करने की आवश्यकता समाप्त करते हैं (जैसे तर्क के साथ वास्तव में यह तय करने के लिए कि आगे क्या करना है/जवाब देना है), उम्मीद है कि जाने का तरीका है।

32

echo y | command काम करना चाहिए।

इसके अलावा, कुछ इंस्टॉलरों के पास "ऑटो-हां" ध्वज होता है। उबंटू पर के लिए यह -y है।

+0

मैं गूंज करने के लिए कोशिश कर रहा हूँ "giturl नहीं" | jspm रजिस्ट्री मेरी खोल स्क्रिप्ट में रजिस्ट्री_नाम jspm-git बनाएं। लेकिन यह नाकाम रहने पर रहता है। giurl में प्रवेश करते समय। कोई उपाय? – manismku

+0

एक और उदाहरण: डॉकर-कंपोज़ में '-f' ('--force') ध्वज है जो कमांड के लिए" ऑटो-हां "के रूप में काम करता है जो – luke

+0

को हटाता है यदि आप तुरंत पूछताछ के मामले में" ईको वाई "कैसे करते हैं एक बार से अधिक पुष्टि? –

7

//, आप लक्ष्य सर्वर पर स्थापित करने की क्षमता की अपेक्षा न हो। यह अक्सर ऐसा होता है जब कोई लिखता है, जेनकिंस नौकरी।

यदि हां, तो मैं askubuntu.com पर निम्नलिखित का जवाब की तरह कुछ पर विचार करेंगे:

https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line

printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input 

ध्यान दें कि कुछ दुर्लभ मामलों में आदेश दर्ज दबाने की जरूरत पड़ती नहीं है चरित्र के बाद। उस मामले में नई-पंक्तियों को छोड़:

printf 'yyy' | ./script_that_needs_user_input 

पूर्णता के लिए के लिए आप भी एक यहाँ दस्तावेज़ का उपयोग कर सकते हैं:

./script <<< "y 
y 
y 
" 
:

./script_that_needs_user_input << EOF 
y 
y 
y 
EOF 

या अपने खोल यह एक यहाँ स्ट्रिंग का समर्थन करता है

या आप प्रति पंक्ति एक इनपुट के साथ एक फ़ाइल बना सकते हैं:

./script < inputfile 

फिर, इस उत्तर के लिए सभी क्रेडिट askubuntu.com, @lesmana पर उत्तर के लेखक के पास जाता है।

+0

//, अगर आप इस उत्तर को पसंद करते हैं तो कृपया askubuntu.com उपयोगकर्ता @lesmana को ऊपर उठाना सुनिश्चित करें। –

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