J'ai écrit ce script pour réinitialiser un contrôleur USB :
echo -n '1-2' | tee /sys/bus/usb/drivers/usb/unbind
sleep 0.5
echo -n '1-2' | tee /sys/bus/usb/drivers/usb/bind
Je peux alors l'exécuter comme suit :
q201:/data # sh foobar.sh
1-21-2q201:/data #
Mais je ne peux pas le faire fonctionner comme ça :
q201:/data # su -c "sh /data/foobar.sh"
tee: /sys/bus/usb/drivers/usb/unbind: Permission denied
1-2tee: /sys/bus/usb/drivers/usb/bind: Permission denied
1-2
1|q201:/data #
Il ne fonctionne que lorsque je suis connecté à SSHDroid sur mon appareil enraciné, d'autres applications telles que Kernel Adiutor, Script Manager ne parviennent pas à exécuter le script et obtiennent la même erreur de permission refusée que j'obtiens lorsque j'essaie de l'exécuter avec su.
Le binaire su fourni avec mon appareil Android ne demande pas d'autorisation. Il la donne simplement à toutes les applications qui la demandent.
Je veux juste que ce script soit exécuté via d'autres applications, et/ou au démarrage.