/ उपयोगकर्ता बैश के लिए / बैश रैपर स्क्रिप्ट प्रॉम्प्ट - बैश

उपयोगकर्ता इनपुट के लिए बैश रैपर स्क्रिप्ट प्रॉम्प्ट - बैश

मेरे पास एक बैश स्क्रिप्ट है जिसे आंतरिक रूप से रूबी स्क्रिप्ट कहा जाता है, स्थिति के आधार पर कभी-कभी रूबी स्क्रिप्ट उपयोगकर्ता के चयन के लिए संकेत देगा; मैं इसे कैसे संभव कर सकता हूं?

मुख्य बैश स्क्रिप्ट:

#!/usr/bash
for host_name in `./myruby.rb -a xxx -b xxx`
do
echo -e "$host_name"
done

आवरण myruby.rb

#!/usr/bin/ruby
.....
......
puts "enter your selection ?"
user_selection = $stdin.gets

अगर मैं रूबी को सीधे चलाता हूं, तो यह ठीक काम कर रहा है, लेकिन जब मैं इसे बैश से चलाता हूं, तो यह उपयोगकर्ता इनपुट के लिए संकेत नहीं दे रहा है; बल्कि यह लटका हुआ है।

उत्तर:

उत्तर № 1 के लिए 1

रूबी स्क्रिप्ट स्टड से पढ़ती है, इसलिए आपको बैश से बुलाए जाने पर भी स्टड पर कुछ प्रदान करना होगा। आप इसे इस तरह से कर सकते हैं:

$(rubyscript <<< "selection")

$ () निर्माण बैकटिक्स के समान है <<< रूबस्क्रिप्ट के लिए स्टिंग पर इनपुट के रूप में स्ट्रिंग "चयन" प्रदान करता है।

या आप बस जवाब टाइप कर सकते हैं जब बैश स्क्रिप्ट "हैंग"