Использование php-модуля из termux в качестве root?

Пишу антивор на чистой оболочке с помощью termux. Включил подсветку кнопками громкости и хочу отправить фото "вора" себе в переписку в соцсети ВКонтакте. Я слушаю нажатие кнопки питания при выключенном экране и тайком делаю фото передней и задней камерой и скриншот. Далее хочу отправить фото в ВК с помощью PHP. Так как мне нужно слушать щелчки, я использую geteventкоманду.

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!"; ?>

Чтобы запустить его первым, я пишу

su

Затем его скрипт находится в /system/bin

protect

Получение ошибки

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

Если я пишу последовательно в командной строке

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

Или

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

Оно работает. Но в скрипте не работает. tsuЯ также заметил, что при изменении команды

$ tsu
bash-4.4#

Наверное в скрипте надо это учитывать? Или проблема в чем-то другом? Большое спасибо!!!

Я прошу близких избирателей учесть, что вопрос (IMO) относится к области опытных пользователей, которым нравится делать что-то традиционно (скрипты, а не с приложением x1 для y1, приложение x2 для y2 и т. д.), а сценарии в значительной степени по теме здесь. Пожалуйста, обоснуйте, если вы не согласны.
@Firelord, извини, я не совсем тебя понимаю
В настоящее время по вашему вопросу ожидаются три закрытых голосования.
@Firelord, я должен удалить вопрос?
Неа. Даже если пять нормальных близких избирателей согласятся закрыться, вы всегда можете поднять вопрос на мете. Более того, модератор действительно ответил на ваш пост и внизу дал понять, что такие вопросы по теме, так что не переживайте.
@Firelord, о, понял: D

Ответы (2)

Когда вы запускаете команды в интерактивном режиме, вы не запускаете tsu, не даете ему завершиться, а затем запускаете phpкоманду. Вы запускаете phpкоманду внутри tsu оболочки. Вам нужно использовать -cопцию, чтобы tsuуказать, какую команду запускать:

/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'

Вы можете увидеть более полное объяснение по этому вопросу о переполнении стека . Хотя здесь обычно приветствуются вопросы сценариев оболочки конечного пользователя, как только вы начнете задавать вопросы, на которые программисты смогут лучше ответить, вы, скорее всего, найдете помощь в SO.

Использовать

tsu -e

Эта опция -eсохраняет вашу среду и должна быть достаточной для запуска вашего скрипта без ошибок.

Также обратите внимание, что tsuэто похоже на Linux su, который открывает другую оболочку вместо запуска команды.