2 votes

Comment passer des commandes au shell ADB ?

J'essaie de créer un script pour automatiser certaines choses répétées que je dois faire avec adb. Je peux exécuter la plupart des commandes sur mon bash local. Mais à une étape, j'ai besoin de trouver la liste de certains fichiers. J'utilise ensuite cette liste dans les étapes suivantes. Ce que je fais maintenant est d'aller manuellement dans le shell adb et de copier la liste :

$ adb shell

$ ls /Path/To/Folder *.abc

xyz.abc xzy.abc uvw.abc

Je copie la liste résultante et la remplace dans mon script à chaque fois avant d'exécuter le script.

Est-il possible de l'exécuter sans aller dans adb shell pour que je puisse faire quelque chose comme ça :

$ file_list="$(adb execute 'ls /Path/To/Folder *.abc')"

De cette façon, je pourrais éliminer les étapes manuelles répétitives et simplement exécuter le script à chaque fois.

4voto

pr0nin Points 353

Le shell interactif adb ne démarre que si vous exécutez simplement adb shell . Si vous ajoutez une commande à la fin, elle sera exécutée sur l'interpréteur de commandes du périphérique, puis adb revient (mode non interactif) :

adb shell ls /Path/To/Folder/*.abc

Bien sûr, à la fin, vous pouvez envoyer la sortie vers un fichier filellist.txt sur votre ordinateur :

adb shell ls /Path/To/Folder/*.abc > filelist.txt

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