2 votes

adb-shell : /sbin/sh : commande : non trouvée

J'ai réussi à Rooter Google Nexus 7 (2013 Wi-Fi) et maintenant j'ai CyanogenMod 10.2-20130919-NIGHTY-grouper en cours d'exécution et Récupération Clockworkmod v6.0.1.9 suivant ce guide .

Puis j'ai téléchargé et installé Fichier image Thinktube pour permettre la mise en place de réseaux ad-hoc.

Je suis maintenant capable de créer un réseau ad-hoc dans ma tablette. (pas encore testé avec d'autres tablettes du même modèle) et je peux voir le réseau adhoc depuis d'autres téléphones iOS et adnroid 2.1 uniquement. Cependant, je veux m'assurer que :

Le fichier image Thinktube prend-il réellement en charge le protocole d'enracinement OLSR ou non ?

si non, alors je suis déjà en train de suivre ce guide pour télécharger, installer et activer le mode OLSR.

Mais Lorsque je suis en mode récupération dans ma tablette, et lorsque j'ouvre le shell adb depuis mon PC, je peux lister les fichiers et parcourir les dossiers dans ma tablette normalement. Mais je ne peux pas exécuter d'autres commandes sur le shell adb. Il me donne toujours cette erreur :

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

Quelle est cette erreur ? Qu'ai-je fait de mal ? et que dois-je faire pour la corriger ?

2voto

Andy Brudtkuhl Points 1714

Contrairement à un système GNU/Linux de bureau, Android n'est pas conçu pour une utilisation en ligne de commande, il n'est donc pas livré avec l'ensemble des programmes de ligne de commande qu'un système GNU aurait. Il ne dispose que des commandes les plus basiques (comme celles que vous avez déjà vu fonctionner), et des utilitaires spécifiques à Android tels que am , pm , bmgr .

Vous pouvez avoir accès aux commandes POSIX de base (telles que less y grep ) en installant Busybox. Il y a plusieurs installateurs pour cela sur Google Play. Pour tout programme plus spécialisé comme make vous devrez trouver un portage Android du programme en question et l'installer.

1voto

Stu Points 169

Le shell sous Android est placé dans /system/bin/sh au lieu de l'habituel /bin/sh - Je me demande où tu verrais /sbin/sh que je n'ai jamais rencontré dans la nature sur aucun Unix (et qui viole le standard POSIX), mais dans cet endroit vous devriez juste changer le script/invocation impliqué.

La plupart des commandes se trouvent dans la section $PATH de toute façon, donc les appeler avec des chemins explicites n'est pas nécessairement nécessaire.

Ceci étant dit, l'espace utilisateur Android Unix est sehr minimal - il n'incluait même pas un cat(1) jusqu'à récemment - vous risquez donc d'être un peu déçu.

Certaines personnes suggèrent d'utiliser busybox sur elle. Si vous le faites, assurez-vous de ne pas remplacer le shell système, car le shell par défaut d'Android mksh(1) est beaucoup plus puissant que busybox'. ash .

Disclaimer : Je suis le mksh mainteneur.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X