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 getevent
el 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 tsu
cambia el comando
$ tsu
bash-4.4#
¿Probablemente en un guión es necesario considerarlo? O el problema esta en otra cosa? ¡¡¡Muchas gracias!!!
Cuando ejecuta los comandos de forma interactiva, no está ejecutando tsu
, dejando que se complete y luego ejecutando el php
comando. Está ejecutando el php
comando dentro tsu
del shell de . Debe usar la -c
opción para tsu
decirle 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 -e
preserva su entorno y debería ser suficiente para ejecutar su script sin errores.
También tenga en cuenta que tsu
es como Linux su
, que abre otro shell en lugar de ejecutar un comando.
Señor del Fuego
usuario191256
Señor del Fuego
usuario191256
Señor del Fuego
usuario191256