¿Usando el módulo php de termux como root?

Estoy escribiendo un anti-ladrón en un shell limpio usando termux. Encendí la luz de fondo con los botones de volumen y quiero enviarme fotos del "ladrón" por correspondencia en la red social VKontakte. Escucho presionar el botón de encendido cuando la pantalla está apagada y en secreto tomo una foto con la cámara delantera y trasera y captura de pantalla. A continuación, quiero enviar fotos en VK usando PHP. Como necesito escuchar los clics, uso geteventel comando.

script -q -c 'getevent /dev/input/event5' /dev/null | while read code; do
while read line; do
    if [ $line -eq 0 ]; then
    carr=( $code )
    code1="${carr[0]}"
    code2="${carr[1]}"
    code3="${carr[2]}"
    if [ $code1 -eq 0001 ]; then
    if [ $code2 -eq 0074 ]; then
    if [ $code3 -eq 00000001 ]; then
    time=$(date +%d.%m.%Y_%H:%M:%S)
    /data/data/com.termux/files/usr/bin/termux-camera-photo -c 1 /data/data/com.termux/files/usr/bin/q/$time.front.jpg
    /data/data/com.termux/files/usr/bin/termux-camera-photo -c 0 /data/data/com.termux/files/usr/bin/q/$time.back.jpg
    screencap -p /data/data/com.termux/files/usr/bin/q/$time.scr.jpg
    /data/data/com.termux/files/usr/bin/tsu
    /data/data/com.termux/files/usr/bin/php /data/data/com.termux/files/usr/bin/vkup.php
    fi
    fi
    fi
    fi
done</sys/class/leds/lcd-backlight/brightness
done

vkup.php

<?php echo "contact!"; ?>

Para ejecutarlo primero escribo

su

Luego, su script se encuentra en /system/bin

protect

Obteniendo un error

CANNOT LINK EXECUTABLE: library "libandroid-glob.so" not found page record for 0xb674008c was not found (block_size=64)

Si escribo secuencialmente en la línea de comando

tsu
/data/data/com.termux/files/usr/bin/php /data/data/com.termux/files/usr/bin/vkup.php

O

su
tsu
/data/data/com.termux/files/usr/bin/php /data/data/com.termux/files/usr/bin/vkup.php

Funciona. Pero en el guión no funciona. También noté que cuando tsucambia el comando

$ tsu
bash-4.4#

¿Probablemente en un guión es necesario considerarlo? O el problema esta en otra cosa? ¡¡¡Muchas gracias!!!

Les pido amablemente a los votantes cercanos que consideren que la pregunta (en mi opinión) cae en el dominio de los usuarios avanzados a quienes les gusta hacer las cosas de manera tradicional (secuencias de comandos, no con la aplicación x1 para y1, la aplicación x2 para y2, etc.) y las secuencias de comandos son más o menos sobre el tema aquí. Justifique si no está de acuerdo.
@Firelord, lo siento, no te entiendo bien
Actualmente hay tres votaciones cerradas pendientes sobre su pregunta.
@Firelord, ¿tengo que eliminar la pregunta?
No. Incluso si cinco votantes cercanos normales acuerdan cerrar, siempre puede plantear el problema en meta. Además, un moderador respondió a su publicación y dejó en claro en la parte inferior que tales preguntas son sobre el tema, así que no se preocupe.
@Firelord, Oh, entendido :D

Respuestas (2)

Cuando ejecuta los comandos de forma interactiva, no está ejecutando tsu, dejando que se complete y luego ejecutando el phpcomando. Está ejecutando el phpcomando dentro tsu del shell de . Debe usar la -copción para tsudecirle qué comando ejecutar:

/data/data/com.termux/files/usr/bin/tsu -c '/data/data/com.termux/files/usr/bin/php /data/data/com.termux/files/usr/bin/vkup.php'

Puede ver una explicación más completa sobre esta pregunta de desbordamiento de pila . Aunque las preguntas de scripting de shell del usuario final generalmente son bienvenidas aquí, una vez que comience a encontrar preguntas que los programadores pueden responder mejor, es más probable que encuentre ayuda en SO.

Usar

tsu -e

La opción -epreserva su entorno y debería ser suficiente para ejecutar su script sin errores.

También tenga en cuenta que tsues como Linux su, que abre otro shell en lugar de ejecutar un comando.