Warum funktionieren Linux-Befehle unter Android nicht richtig?

7
> adb shell
sh-4.1$ ls -F
-F: No such file or directory

-F Schalter funktioniert gut auf meinem Ubuntu.

Warum funktioniert es nicht auf Android? Gibt es eine Möglichkeit, es zum Laufen zu bringen?

Kshitiz Sharma
quelle

Antworten:

10

Die meisten Shell-Befehle in Android sind keine GNU-Versionen oder eine POSIX-kompatible Implementierung. Sie stammen entweder aus Toolbox oder Busybox und sind meistens abgespeckte Versionen.

Viele Befehle in /system/binsind Symlinks zu /system/toolbox. Ich habe nicht viel Dokumentation darüber gefunden, nur die Quelle unter https://android.googlesource.com/platform/system/core/+/jb-mr1-release/toolbox/

Busybox ist eine weitere Implementierung mehrerer gängiger Shell-Befehle mit mehr Befehlen und Funktionen als die Standard-Toolbox. Es wird auch auf anderen eingebetteten Systemen und einigen bootfähigen GNU / Linux-CDs verwendet, sodass Sie möglicherweise bereits damit vertraut sind. Da es sich um Open Source handelt, stehen bei Google Play mehrere Installationsprogramme zur Verfügung: Suchen Sie einfach nach "Busybox".

ott--
quelle
Es gibt eine Anleitung unter github.com/jackpal/Android-Terminal-Emulator/wiki/…
Kshitiz Sharma
2
Genau genommen sind GNU Userland-Befehlstools nicht "original", sondern basieren auf vorhandenen Unix-Befehlstools und POSIX.
Lie Ryan