3 votes

MacroDroid script shell non-root emplacement permission refusé

Actuellement, j'essaie d'exécuter un script shell simple via MacroDroid. Les appareils sont Huawei et Samsung (Oreo non rooté).

dans MacroDroid, j'ai essayé les emplacements suivants:

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

MacroDroid signale une autorisation refusée:

/system/bin/sh: [4]: /data/local/tmp/script.sh: impossible d'exécuter: Permission denied
/system/bin/sh: [4]: /storage/emulated/0/MacroDroid/script.sh: impossible d'exécuter: Permission denied
/system/bin/sh: [4]: /storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh: impossible d'exécuter: Permission denied

le script lui-même fonctionne lorsqu'il est exécuté à partir de 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

Dans l'émulateur de terminal, le script est lisible (et le passage en argument à sh fonctionne):

$ /data/local/tmp/script.sh
/system/bin/sh: /data/local/tmp/script.sh: introuvable
$ 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 a toutes les autorisations accordées dans les paramètres. Les macros peuvent créer leurs propres fichiers journaux dans /storage/emulated/0

Quel est l'emplacement approprié pour les scripts shell sur un appareil non rooté?

2voto

Firelord Points 23064

L'action de script Shell est quelque peu trompeuse en soi. Il devrait plutôt être renommé "Commandes Shell". Dans la zone d'entrée, vous devez en réalité entrer l'intégralité de votre script. Si vous ne voulez pas faire ça mais que vous voulez exécuter un script déjà créé, exécutez-le comme suit :

sh CHEMIN_DU_SCRIPT
sh /sdcard/mon_script.sh     # exemple

Cela devrait fonctionner.

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