कैसे एक अन्य स्क्रिप्ट में एक चर स्क्रिप्ट के बिल्ली उत्पादन असाइन करने के लिए


29

मेरे पास एक बैश स्क्रिप्ट है जो एक बिल्ली का उत्पादन करती है जब वह एक तर्क लेती है। मेरे पास एक और बैश स्क्रिप्ट भी है जो पहले बैश स्क्रिप्ट को एक तर्क के साथ निष्पादित करती है जिसे मैं कैट आउटपुट के साथ बनाना चाहता हूं। मैं चर में पहले बैश स्क्रिप्ट द्वारा निर्मित उन कैट आउटपुट को कैसे स्टोर करूं?

जवाबों:


38
var=$( cat foo.txt )

catवेरिएबल के आउटपुट को स्टोर करेगा var

var=$( ./myscript )

myscriptएक ही चर में उत्पादन संग्रहीत करेगा ।


5
मेरे जैसे बैश नवाबी के लिए त्वरित टिप, रिक्ति और गैर रिक्ति सभी महत्वपूर्ण हैं, सटीक पैटर्न का पालन करें! उदाहरण के लिए var = $( cat foo.txt )काम नहीं करेगा
sojim2

@ डॉकटर की एक सीमा है कि foo.txt कितना बड़ा हो सकता है? मेरे पास 10 mb से अधिक डेटा है। क्या बिल्ली पूरी चीज को स्टोर करेगी? मैं जानना चाहता हूं कि क्या भविष्य के संदर्भ के लिए भी कोई सीमा है।
16

@sojim क्या आपको इसका जवाब पता है?
16

1
@myhouse इस उत्तर के अनुसार, स्वयं को कोसने के कारण कोई सीमा नहीं है, लेकिन सीमा अंतर्निहित वातावरण पर आवंटित की गई मेमोरी है, जो निश्चित रूप से भिन्न हो सकती है।
दलेर

3

दोहरे उद्धरण चिह्नों का उपयोग करें। इसे इस्तेमाल करे

var="$(cat foo.txt)"

3
यह लगभग कभी बुरा नहीं है चीजों को (विशेष रूप से चीजों के साथ शुरू होता है $) दोहरे उद्धरण चिह्नों में, और यह यहां चोट नहीं करता है। हालांकि, एक चर के लिए असाइनमेंट के मामले में, यह वास्तव में मदद नहीं करता है।
जी-मैन का कहना है कि 'मोनिका'

@ जी-मैन: क्या होगा अगर उस वेरिएबल में न्यूलाइन्स या टैब हैं जो हम वैरिएबल में रहना चाहते हैं?
jvriesem

@jvriesem: अगर यह करता है तो क्या होगा? क्या आपको कोई प्रश्न पूछना है?
जी-मैन का कहना है कि 'मोनिका'

जब मैं इस कमांड को चलाता हूं, तो यह मेरी सभी नई कहानियों से छुटकारा पाने के लिए लगता है।
। बढ़ई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.