मैं adb shell
में पाइप क्यों नहीं कर सकता?'adb shell` में पाइप
[[email protected] ~]$ echo foo | adb shell cat
^C
उपरोक्त आदेश मेरा 4.0.1 एमुलेटर पर लटका हुआ है, और मैं नहीं दिखाई दे रही है उम्मीद foo
उत्पादन।
मुझे लगता है कि यह adb shell
अपने stdin को अपने बच्चे की प्रक्रिया 'stdout में पाइप नहीं करता है, और cat
बैठता है और हमेशा इंतजार करता है। क्या यह वास्तव में adb
में लागू नहीं किया गया है, या क्या मुझे कुछ याद आ रहा है?
मुझे वह अजीब लगता है! यह ऐसी बुनियादी कार्यक्षमता है, और इसे लागू करने में कठिनाई नहीं लगती है। क्या मैं कुछ भूल रहा हूँ? – kristianlm
यह वास्तव में सच है ... यह दिखाया गया है कि यह 'इंटरैक्टिव शैल "(stdin से पढ़ना) नहीं है जब' adb shell' के तर्क हैं [https://github.com/android/platform_system_core/blob /master/adb/commandline.c#L1204)। – kristianlm
तर्कों के साथ न तो 'adb shell' और न ही' adb shell' उचित stdin हैंडलिंग है, 'echo date' आज़माएं। adb shell' और 'echo foo | एडीबी खोल wc'। न तो अपेक्षित आउटपुट का उत्पादन, Ctrl-C का उपयोग कर प्रक्रिया को मारने की आवश्यकता है। लिनक्स पर 'adb संस्करण' =>' एंड्रॉइड डीबग ब्रिज संस्करण 1.0.39 संशोधन 3db08f2c6889-android' के साथ परीक्षण किया गया। – ack