Warum kann ich nicht in adb shell
piping?Pipe in `adb shell`
[[email protected] ~]$ echo foo | adb shell cat
^C
Der obige Befehl hängt an meinem 4.0.1 Emulator, und ich bin nicht die erwartete foo
Ausgabe zu sehen.
Ich nehme an, es ist, weil adb shell
nicht seine stdin in seine Child-Prozess 'stdout leitet, und cat
sitzt und wartet für immer. Wurde dies in adb
wirklich nicht implementiert, oder fehle ich etwas?
Ich finde das seltsam! Es ist eine solche grundlegende Funktionalität und würde nicht schwer zu implementieren sein. Fehle ich etwas? – kristianlm
es ist wirklich wahr ... es erstellt keine "interaktive Shell" (Lesen von stdin), wenn es Argumente für 'adb shell' gibt, wie hier [hier] (https://github.com/android/platform_system_core/blob /master/adb/commandline.c#L1204). – kristianlm
Weder 'adb shell' noch' adb shell' mit Argumenten haben eine korrekte stdin-Behandlung, versuchen Sie 'echo date | adb shell' und 'echo foo | adb Schale wc'. Weder produzieren sie die erwartete Ausgabe, noch müssen Sie den Prozess mit Ctrl-C beenden. Getestet mit 'adb version' =>' Android Debug Bridge Version 1.0.39 Revision 3db08f2c6889-android auf Linux. – ack