Escribí esta secuencia de comandos para restablecer un controlador 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
Puedo, a continuación, ejecutarlo así:
q201:/data # sh foobar.sh
1-21-2q201:/data #
Pero no puedo ejecutarlo como este:
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 #
Solo funciona cuando estoy conectado a SSHDroid en mi dispositivo de root, de otras aplicaciones tales como Núcleo Adiutor, Gestor de Script no se ejecuta la secuencia de comandos y obtener el mismo error de permiso denegado que me sale cuando intento ejecutar con su.
El su binario que vino con mi dispositivo android no le pide a otorgar el permiso. Sólo se le da a cualquiera de las aplicaciones que preguntar.
Quiero que esta secuencia de comandos se ejecute a través de otras aplicaciones, y/o en el inicio.