पर असाइन करना मैं एक अजीब स्क्रिप्ट में system
कमांड चलाने के लिए और एक चर में संग्रहीत आउटपुट प्राप्त करना चाहता हूं। मैं ऐसा करने की कोशिश कर रहा हूं, लेकिन कमांड का आउटपुट हमेशा खोल में जाता है और मैं इसे कैप्चर करने में सक्षम नहीं हूं। यह कैसे किया जा सकता है पर कोई विचार?सिस्टम कमांड के आउटपुट को वैरिएबल
उदाहरण:
$ date | awk --field-separator=! {$1 = system("strip $1"); /*more processing*/}
strip
प्रणाली आदेश बुलाना चाहिए और इसके बजाय खोल करने के लिए उत्पादन को भेजने की है, और अधिक प्रसंस्करण के लिए उत्पादन वापस $1
को आवंटित करने चाहिए। अब साइन इन करें, यह खोल को आउटपुट भेज रहा है और कमांड के रीकोड को $1
पर असाइन कर रहा है।
निट: उत्पादन खोल नहीं जा रहा है, यह टर्मिनल के लिए जा रहा है/कंसोल। खोल अपने बच्चों के किसी भी आउटपुट को नहीं पढ़ता है - वे सिर्फ उसी फ़ाइल के साथ जुड़े फाइल डिस्क्रिप्टर साझा करते हैं। –