adb-shell : /sbin/sh: Befehl: nicht gefunden

Ich habe es geschafft, Google Nexus 7 (2013 Wi-Fi) zu rooten, und jetzt läuft CyanogenMod 10.2-20130919-NIGHTY-grouper darauf und Clockworkmod Recovery v6.0.1.9 , indem ich dieser Anleitung folge .

Dann habe ich die Thinktube-Image-Datei heruntergeladen und installiert , um Ad-hoc-Netzwerke zu ermöglichen.

Ich kann jetzt ein Ad-hoc-Netzwerk in meinem Tablet erstellen (noch nicht mit anderen Tablets desselben Modells getestet) und ich kann das Ad-hoc-Netzwerk nur von anderen iOS-Telefonen und Adnroid 2.1 sehen. Ich möchte jedoch Folgendes sicherstellen:

unterstützt die Thinktube-Image-Datei tatsächlich das OLSR-Rooting-Protokoll oder nicht?

Wenn nicht, dann folge ich bereits dieser Anleitung , um den OLSR-Modus herunterzuladen, zu installieren und zu aktivieren.

Aber wenn ich mich in meinem Tablet im Wiederherstellungsmodus befinde und die Adb-Shell von meinem PC aus öffne, kann ich Dateien auflisten und Ordner auf meinem Tablet normal durchsuchen. Aber ich kann keinen anderen Befehl auf der adb-shell ausführen. es gibt mir immer diesen Fehler:

/sbin/sh: "any-command-rather-than-ls-&-cd": not found

was ist das für ein fehler? was habe ich falsch gemacht ? und was soll ich tun um es zu beheben?

Welche Befehle hast du probiert?
@DanHulme: make .. su (aber ich habe verstanden, dass ich das nicht tun muss, weil ich mich bereits im superUser-Konto befinde, wenn ich mich in der adb-shell befinde). scan_results und alle anderen Befehle

Antworten (2)

Im Gegensatz zu einem Desktop-GNU/Linux-System ist Android nicht für die Verwendung auf der Befehlszeile konzipiert, daher verfügt es nicht über den vollständigen Satz von Befehlszeilenprogrammen, die ein GNU-System haben würde. Es hat nur die grundlegendsten Befehle (wie die, die Sie bereits gesehen haben) und Android-spezifische Dienstprogramme wie am, pm, bmgr.

lessSie können auf die grundlegenden POSIX-Befehle (wie und ) zugreifen, grepindem Sie Busybox installieren. Es gibt mehrere Installer dafür bei Google Play. Für speziellere Programme wie make, müssen Sie einen Android-Port des jeweiligen Programms finden und installieren.

Ich habe nach der Installation von CyanogenMod keine Google-Play-App auf meinem Tablet, was bedeutet, dass ich die Busybox-App nicht installieren kann. Ich habe nicht einmal die SuperUser-App nach dem Entsperren.
@Rania-Boy Sie können Busybox von einer anderen Quelle installieren oder zuerst Google Play installieren .

Die Shell auf Android wird /system/bin/shanstelle der regulären /bin/sheingefügt – ich frage mich, wo Sie sehen würden, /sbin/shwas ich noch nie in freier Wildbahn auf einem Unix angetroffen habe (und den POSIX-Standard verletzt), aber an dieser Stelle sollten Sie einfach das Skript ändern / Aufruf beteiligt.

Die meisten Befehle befinden sich im $PATHsowieso, daher ist es nicht unbedingt erforderlich, sie mit expliziten Pfaden aufzurufen.

Abgesehen davon ist das Android-Unix-Benutzerland sehr minimal – es enthielt bis vor kurzem nicht einmal eine cat(1)Implementierung – so dass Sie vielleicht etwas enttäuscht sind.

Einige Leute schlagen vor, busybox darauf zu verwenden. Wenn Sie dies tun, stellen Sie sicher, dass Sie die System-Shell nicht ersetzen, da die Standardeinstellung von Android mksh(1)viel leistungsfähiger ist als busybox' ash.

Haftungsausschluss: Ich bin der mkshBetreuer.