2 votos

El comando SHELL funciona bien como un comando autónomo, pero falla cuando se introduce en un shell script?

Android 8.1 PIXEL 2 con acceso Root.

He visto que me lo pidan aquí una vez antes, pero la única solución no me ayudó en absoluto. Voy a tratar de hacer esto tan simple como pueda para el ejemplo.

Si ejecuto el siguiente comando en el emulador de terminal o en el adb shell:

am force-stop com.myapp.frustrated

Dejará la aplicación perfectamente. Pero cuando lo ejecute en este shell script:

#!/bin/sh
am force-stop com.myapp.frustrated

No pasa nada. Me resulta extraño que pueda hacer muchos otros comandos bien en un script, pero un puñado de ellos no funcionan.

Cualquier sugerencia que tenga será muy apreciada.

0 votos

¿Está ejecutando el script desde un shell adb o sólo desde el símbolo del sistema con adb?

1 votos

Asegúrese de que shell existe en la ruta /bin/sh o utilice /system/bin/sh . Cuida también los finales de línea en el script: Los comandos se ejecutan en el terminal pero arrojan errores en el script de shell

-1voto

Jason Waltz Puntos 115

Eliminando #!/bin/sh arregló mi problema. Gracias

3 votos

Sustituirlo por /system/bin/sh probablemente también habría funcionado. El fondo: Esa línea especifica el binario ("intérprete") con el que se ejecuta este script. Como no hay /bin/sh en Android, no se encontró el intérprete especificado y por lo tanto el script no se ejecutó. ¿Podría verificar esto - y luego integrar estos hechos con su respuesta? Cuando lo hagas, por favor, envíame un ping, para que pueda eliminar mi comentario de nuevo.

1 votos

Como nota al margen: en las versiones recientes de Android /bin es un enlace simbólico a /system/bin .

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X