2 votes

Je peux maintenant inverser le tether en utilisant un alias mais cela s'arrête sur la commande shell adb.

J'ai fait quelques alias pour inverser rapidement l'attache.

alias t='r && sh && n'
alias n='netcfg rndis0 dhcp'
alias sh='ad shell'
alias r='ad kill-server && ad start-server'
alias ad='adb'

Je veux entrer t (qui active le reverse tethering) mais la commande aliasée ne fait rien après sh

Comment mieux automatiser cela ?

(Je suppose que c'est parce que ce n'est plus dans le premier shell mais dans le shell Android adb)

UPDATE : J'ai édité le .bashrc comme répondu par Stephen Schrauger mais la commande me fait entrer dans le shell adb et quand je déconnecte le câble usb j'obtiens netcfg: command not found

Les pseudonymes sont maintenant :

alias t='r && sz $n'
n='netcfg rndis0 dhcp'
alias sz='ad shell'
alias r='ad kill-server && ad start-server'
alias ad='adb'

Qu'est-ce qui ne va pas maintenant ?

UPDATE2 déplacé ici : Aide avec ce script ADB REVERSE Tethering ?

2voto

Steve Obbayi Points 1499

Il s'agit plutôt d'une question sur linux, et elle doit être déplacée vers superuser.se mais je peux y répondre.

Sous linux, vous enchaînez les commandes en utilisant && (ou || ou simplement ; ). Avec && la première commande doit finir de s'exécuter et ne pas avoir de code d'erreur pour que la commande suivante de la séquence puisse être exécutée.

Dans votre configuration, il semble que vous vouliez ouvrir un shell ADB, puis exécuter netcfg rndis0 dhcp sur le shell adb . Cependant, Linux ne fait pas cela. Au lieu de cela, il attend que le shell ADB se termine sans erreur, après quoi il exécutera netcfg rndis0 dhcp sur le shell de l'ordinateur de bureau.

Si vous souhaitez exécuter une commande sur l'appareil Android, vous ne lancez pas un shell ADB interactif (par défaut), mais vous transmettez la commande comme suit :

adb shellnetcfg rndis0 dhcp

Vous devrez changer votre alias pour n pour être une variable à la place. Supprimez le alias pour que la ligne se lise comme suit n='netcfg rndis0 dhcp' . Ensuite, changez votre alias pour t comme suit

alias t='r &&sh $n'

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