3 votos

MacroDroid shell script permiso de ubicación no root denegado

Actualmente estoy tratando de ejecutar un simple shell script a través de MacroDroid. dispositivos son Huawei y Samsung (Oreo no rooteado).

en MacroDroid intentó las siguientes ubicaciones:

/data/local/tmp/script.sh
/storage/emulated/0/MacroDroid/script.sh
/storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh

MacroDroid informa de permiso denegado:

/system/bin/sh: <stdin>[4]: /data/local/tmp/script.sh: can't execute: Permission denied
/system/bin/sh: <stdin>[4]: /storage/emulated/0/MacroDroid/script.sh: can't execute: Permission denied
/system/bin/sh: <stdin>[4]: /storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh: can't execute: Permission denied

el propio script funciona cuando se ejecuta desde adb shell:

adb shell
$ cd /data/local/tmp
$ chmod 0755 script.sh
$ ls -nZ script.sh
-rwxr-xr-x 1 2000 2000 u:object_r:shell_data_file:s0 ...
$ ./script.sh

En el Emulador de Terminal se puede leer el script (y pasar como argumento a sh funciona):

$ /data/local/tmp/script.sh
/system/bin/sh: /data/local/tmp/script.sh: not found
$ sh /data/local/tmp/script.sh
$ sh /storage/emulated/0/MacroDroid/script.sh
$ sh /storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh

MacroDroid tiene todos los permisos concedidos en la configuración. Las macros pueden crear sus propios archivos de registro en /storage/emulated/0

¿Cuál es la ubicación adecuada para los scripts de shell en un dispositivo no rooteado?

2voto

Firelord Puntos 161

La acción Shell script es algo engañosa en sí misma. En su lugar, debería llamarse "comandos de Shell". En el área de entrada se requiere que introduzca todo su script en realidad. Si no quieres eso, sino que quieres ejecutar un script ya hecho, ejecútalo como

sh SCRIPT_PATH
sh /sdcard/my_script.sh     # example

Esto debería funcionar.

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